Debezium 0.10 发行说明
Debezium 发行的所有重要更改都记录在此文件中。发行编号遵循 语义化版本控制。
发行版 0.10.0.Final (2019年10月2日)
请参阅 https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12339267(complete 完整问题列表)。
Kafka 兼容性
此版本已针对 Kafka Connect 2.3.0 构建,并已通过 Kafka Broker 版本 2.3.0 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.Final 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.Final 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.Final 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
发行版 0.10.0.CR2 (2019年9月26日)
请参阅 https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12317320&version=12342807(complete 完整问题列表)。
Kafka 兼容性
此版本已针对 Kafka Connect 2.3.0 构建,并已通过 Kafka Broker 版本 2.3.0 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.CR2 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.CR2 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.CR2 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
用于表示 INTERVAL 列的数据类型 MicroDuration(Postgres 和 Oracle 连接器支持)已从 float64 更改为 int64。原因是预计不会有小数微秒值。对于微秒值会溢出 int64 的情况,未来的 Debezium 版本将提供基于 String 的替代映射,允许根据年份、月份、日期等部分精确表示间隔值(请参阅 DBZ-1498)。
修复
此版本包含以下修复
-
无法为名称中带有破折号的字段使用 Avro DBZ-1044
-
对不支持的 include-unchanged-toast 参数的检测失败 DBZ-1399
-
Debezium 在 Connect 重平衡期间关闭 PG 连接可能存在问题 DBZ-1426
-
PG 连接器无法连接的常见错误令人困惑 DBZ-1427
-
Postgres 连接器不遵守
publication.name配置 DBZ-1436 -
中断处理错误 DBZ-1438
-
CREATE DATABASE 和 TABLE 语句不支持 DEFAULT 字符集 DBZ-1470
-
当配置错误时,避免在 EventRouter 运行时发生 NPE。 DBZ-1495
-
java.time.format.DateTimeParseException: java.time.format.DateTimeParseException DBZ-1501
其他更改
此版本还包括其他更改
-
将容器镜像发布到 quay.io DBZ-1178
-
记录通过 RPM 在 Fedora 上安装 DecoderBufs 插件 DBZ-1286
-
修复间歇性失败的 Postgres 测试 DBZ-1383
-
将 MongoDB 4.2 添加到测试矩阵 DBZ-1389
-
升级到最新的 Postgres 驱动程序 DBZ-1462
-
在 0.9 文档中使用旧的 SMT 名称 DBZ-1471
-
在 Postgres 文档中提及“主”和“从”节点 DBZ-1472
-
PostgreSQL
snapshot.mode连接器选项描述应包含 'exported' DBZ-1473 -
更新示例教程以显示在连接器级别使用 Avro 配置 DBZ-1474
-
将 protobuf 升级到版本 3.8.0 DBZ-1475
-
使用备用复制流方法时,日志记录可能会令人困惑 DBZ-1479
-
从文档中移除关于选项引入时间的说明 DBZ-1493
-
不稳定的 Mysql 连接器集成测试 (shouldProcessCreateUniqueIndex) DBZ-1500
-
更新 PostgreSQL 文档 DBZ-1503
-
DocumentTest#shouldCreateArrayFromValues() 在 Windows 上失败 DBZ-1508
发行版 0.10.0.CR1 (2019年9月10日)
请参阅 完整问题列表。
Kafka 兼容性
此版本已针对 Kafka Connect 2.3.0 构建,并已通过 Kafka Broker 版本 2.3.0 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.CR1 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.CR1 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.CR1 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
PostgreSQL 插件使用的 ProtoBuf 库已 升级。
SQL Server 连接器现在支持 Kafka Connect 的 时态数据类型。同时,默认时态模式不再是 adaptive_time_microseconds,而是 adaptive。模式 adaptive_time_microseconds 不再受支持。
发行版 0.10.0.Beta4 (2019年8月16日)
请参阅 完整问题列表。
Kafka 兼容性
此版本已针对 Kafka Connect 2.3.0 构建,并已通过 Kafka Broker 版本 2.3.0 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.Beta4 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.Beta4 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.Beta4 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
outbox event router 产生的消息值的默认格式已更改。默认情况下,它将仅包含 payload 列的值。为了添加以前是消息值一部分的 eventType 值,请使用“附加字段”配置选项,并将其放置选项设置为 envelope。在这种情况下,消息值将是一个复杂结构,包含 payload 键以及每个附加字段的一个附加键。
发行版 0.10.0.Beta3 (2019年7月23日)
请参阅 完整问题列表。
Kafka 兼容性
此版本已针对 Kafka Connect 2.3.0 构建,并已通过 Kafka Broker 版本 2.3.0 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.Beta3 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.Beta3 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.Beta3 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
心跳消息的值已更改,现在它包含一个带有心跳时间戳的字段。请注意,心跳消息的消息格式被认为是 Debezium 的实现细节,即其格式可能会被不兼容地修改,消费者不应依赖任何特定格式。
修复
此版本包含以下修复
-
尽管 DDL 语句无法解析,但仍可能提交了不正确的偏移量 DBZ-599
-
SavePoints 被存储在历史 topic 中 DBZ-794
-
当主键组合为 2 个(复合键)的表删除操作“op:d”时,未发送 d 记录 DBZ-1180
-
当 MongoDB 集合在一段时间内没有活动时,会触发初始同步 DBZ-1198
-
恢复与 Kafka 1.x 的兼容性 DBZ-1361
-
在输入“LOCK DEFAULT”时没有可行的替代方案 DBZ-1376
-
Postgres 的 getReplicationSlotInfo 时出现 NullPointerException DBZ-1380
-
CHARSET 不支持 CAST 函数 DBZ-1397
-
Debezium 解析器不知道 Aria 引擎 DBZ-1398
-
创建复制槽后,Debezium 在 PostgreSQL 中获取不到第一个更改 DBZ-1400
-
内置数据库过滤器抛出 NPE DBZ-1409
-
处理 RDS 心跳错误 DBZ-1410
-
PostgreSQL 连接器为未指定密码时生成误报 DBZ-1379
发行版 0.10.0.Beta2 (2019年6月27日)
请参阅 完整问题列表。
Kafka 兼容性
此版本已针对 Kafka Connect 2.3.0 构建,并已通过 Kafka Broker 版本 2.3.0 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.Beta2 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.Beta2 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.Beta2 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
修复
此版本包含以下修复
-
TRUNCATE TABLE 的事件未被发出 DBZ-708
-
连接器消耗大量内存 DBZ-1065
-
在 Kafka Broker 0.10.1.0 上启动连接器时出现异常 DBZ-1270
-
当重命名表导致它被捕获或不再被捕获时,发出警告 DBZ-1278
-
在输入“ALTER TABLE
documentsRENAME INDEX”时没有可行的替代方案 DBZ-1329 -
MySQL DDL 解析器 - triggers 和 NEW 的问题 DBZ-1331
-
MySQL DDL 解析器 - COLLATE 在函数中的问题 DBZ-1332
-
将“include.unknown.datatypes”设置为 true 对流处理有效,但在快照期间无效 DBZ-1335
-
PostgreSQL 具有物化视图的数据库在快照期间失败 DBZ-1345
-
将 RecordsStreamProducer 切换为使用非阻塞流调用 DBZ-1347
-
MySQL 连接器无法解析 create definition DBZ-1348
-
字符串字面量应支持 utf8mb3 字符集 DBZ-1349
-
MySQL 8 不支持 NO_AUTO_CREATE_USER SQL 模式 DBZ-1350
-
MySQL 8 中无效时间戳检查的断言错误 DBZ-1353
发行版 0.10.0.Beta1 (2019年6月11日)
请参阅 完整问题列表。
Kafka 兼容性
此版本已针对 Kafka Connect 2.2.1 构建,并已通过 Kafka Broker 版本 2.2.1 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.Beta1 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.Beta1 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.Beta1 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
新功能
-
当过滤器未匹配任何表/数据库时,发出警告 DBZ-1242
发行版 0.10.0.Alpha2 (2019年6月3日)
请参阅 完整问题列表。
Kafka 兼容性
此版本已针对 Kafka Connect 2.2.0 构建,并已通过 Kafka Broker 版本 2.2.0 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.Alpha2 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.Alpha2 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.Alpha2 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
快照标记已大修。最初,快照标记是一个布尔值字段,指示记录是否通过快照获得。现在它已变为三状态字符串枚举,指示记录来自快照(true)、是快照中的最后一个(last)还是来自流(false)。
发行版 0.10.0.Alpha1 (2019年5月28日)
请参阅 完整问题列表。
Kafka 兼容性
此版本已针对 Kafka Connect 2.2.0 构建,并已通过 Kafka Broker 版本 2.2.0 进行测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器从任何早期版本 (0.10.x, 0.9.x, 0.8.x, 0.7.x, 0.6.x, 0.5.x, 0.4.x, 0.3.x, 0.2.x, 或 0.1.x) 升级到 0.10.0.Alpha1 时,请先查看您所用版本的升级说明。请正常停止正在运行的连接器,移除旧的插件文件,安装 0.10.0.Alpha1 插件文件,并使用相同的配置重新启动连接器。重新启动后,0.10.0.Alpha1 连接器将从之前的位置继续工作。正如您所预料的那样,之前由旧连接器写入 Kafka 的所有变更事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
所有连接器现在共享通用的源信息块字段 DBZ-596。这导致了一些源字段的重命名和/或内容更改。我们提供了一个选项 source.struct.version=v1 来使用旧版源信息块。
Unwrap SMT 已重命名 DBZ-677 以更好地表达其用途。
MySQL 连接器现在一致地处理快照模式和流模式下的 database.history.store.only.monitored.tables.ddl DBZ-683。这导致了数据库历史 topic 内容的更改。
MySQL 旧版 DDL 解析器已移除,并被基于 ANTLR 的解析器完全取代。
Oracle 和 SQL Server 连接器现在包含数据库、模式和表名称在源信息块中 DBZ-875。
MongoDB 现在包含数据库和集合名称在源信息块中 DBZ-1175。原始的 ns 字段已被移除。
指标 NumberOfEventsSkipped 现在仅适用于 MySQL 连接器 DBZ-1209。
所有已弃用的功能和配置选项 DBZ-1234 已从代码库中移除,不再可用。
Outbox 路由 SMT 选项名称已重命名,以遵循一致的命名方案 DBZ-1289。
其他更改
此版本还包括其他更改
-
column.mask.with.length.chars 参数的描述具有误导性 DBZ-1290
-
清理 integration-tests 下的集成测试 DBZ-263
-
合并 DDL 解析器测试 DBZ-733
-
记录“database.ssl.mode”选项 DBZ-985
-
将 MySQL 语法与上游语法同步 DBZ-1127
-
将 -XX:+UseStringDeduplication JVM 标志添加到 FAQ 条目 DBZ-1139
-
测试并处理 PostgreSQL 支持的 24:00:00 时间 DBZ-1164
-
定义 MySQL、Postgres、SQL Server 和 MongoDB 的最终记录格式 DBZ-1235
-
在模式和数据不匹配的情况下改进错误报告 DBZ-1257
-
向 COPYRIGHT.txt 添加缺失的贡献者 DBZ-1259
-
在发布管道中自动检查贡献者。 DBZ-1282