Debezium日常分享系列之:Debezium 2.5.3.Final发布
一、重大改变
1.SQL Server
- 首次部署连接器时,SQL Server 连接器并未捕获所有架构,而是仅根据配置的包含列表中定义的表捕获架构。这是一个错误,当用户期望新表的架构已存在于架构历史记录主题中时,可能会阻止用户轻松地将新表添加到连接器。连接器现在正确支持 store.only.captured.tables.ddl 配置选项。
- 对于现有连接器部署,如果您没有专门设置架构历史记录主题的 store.only.captured.tables.ddl 属性,连接器将开始捕获数据库中所有相关表的架构更改。如果您想防止这种情况并保留之前的行为,则需要通过添加值为 true 的 schema.history.internal.store.only.captured.tables.ddl 来调整连接器配置。
二、改进和变化
1.Debezium 服务器的 TRACE 级别日志记录
- Debezium Server 是 Debezium 源连接器的现成运行时,它使用 Quarkus 框架来管理源和接收器部署。大多数 Debezium Server 用户都知道谁曾提出问题或错误,我们经常要求提供 TRACE 级别的日志,但这通常被证明很困难,因为它需要完全重建 Debezium Server,因为最低日志记录级别是构建时的Quarkus 中的配置。
- 在 Debezium 2.5.3.Final 和即将发布的 Debezium 2.6.0.Final 版本中,不再需要这样做。默认情况下,构建时配置已调整为包括 TRACE 日志记录级别,因此以后用户只需将日志级别设置为 TRACE 并重新启动 Debezium Server 即可获取日志。
2.Informix 将 LSN 附加到事务标识符
- Informix 数据库仅在存在并发事务时增加事务标识符,否则对于顺序事务,该值保持相同。对于可能想要在后处理步骤中利用事务元数据来排序更改事件的用户来说,这可能会很困难。
- 在 Debezium 2.5.3.Final 和即将推出的 2.6 中,Informix 现在会将日志序列号 (LSN) 附加到事务标识符,以便用户可以轻松地根据事务元数据对更改事件进行排序。事务标识符字段现在将使用格式 :。此更改会影响事务元数据事件以及更改事件的源信息块,如下所示:
事务开始事件
{
"status": "BEGIN",
"id": "571:53195829",
...
}
事务结束事件
{
"status": "END",
"id": "571:53195832",
...
}
变更事件
{
...
"source": {
"id": "571:53195832"
...
}
}
3.PostgreSQL 改进
- 更新了 JDBC 驱动程序
- PostgreSQL驱动程序已升级至版本42.6.1。
- 改进的日志记录
- 在 PostgreSQL 连接器启动期间,一些用户报告连接器卡住或表现得好像可能陷入无限循环。问题似乎是 pg_replication_slot_advance 花费的时间比读取数据库超时的时间长,并且抛出的异常不能令人满意地识别问题。在这种情况下,日志记录已得到显着改进,以识别此根本原因,以便用户在遇到此问题时可以进行必要的调整。
三、Debezium技术总结
更多Debezium技术请参考: