Debezium 1.0 发行说明
Debezium 发行的所有重要更改都记录在此文件中。发行编号遵循 语义化版本控制。
1.0.3.Final 版 (2020 年 3 月 12 日)
查看 完整的 issues 列表。
Kafka 兼容性
此版本已基于 Kafka Connect 2.4.0 构建,并已使用 2.4.0 版本的 Kafka Broker 进行测试。有关与其他版本 Kafka Broker 的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器中的任何一个从早期 1.0.x、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 版本升级到 1.0.3.Final 时,请首先查看您正在使用的版本的升级说明。正常停止正在运行的连接器,移除旧的插件文件,安装 1.0.3.Final 插件文件,并使用相同的配置重启连接器。重启后,1.0.3.Final 连接器将从上一个连接器中断的地方继续。正如您可能预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
1.0.2.Final 版 (2020 年 2 月 27 日)
查看 完整的 issues 列表。
Kafka 兼容性
此版本已基于 Kafka Connect 2.4.0 构建,并已使用 2.4.0 版本的 Kafka Broker 进行测试。有关与其他版本 Kafka Broker 的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器中的任何一个从早期 1.0.x、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 版本升级到 1.0.2.Final 时,请首先查看您正在使用的版本的升级说明。正常停止正在运行的连接器,移除旧的插件文件,安装 1.0.2.Final 插件文件,并使用相同的配置重启连接器。重启后,1.0.2.Final 连接器将从上一个连接器中断的地方继续。正如您可能预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
新功能
-
添加选项以跳过不可处理的事件 DBZ-1760
1.0.1.Final 版 (2020 年 2 月 7 日)
查看 完整的 issues 列表。
Kafka 兼容性
此版本已基于 Kafka Connect 2.4.0 构建,并已使用 2.4.0 版本的 Kafka Broker 进行测试。有关与其他版本 Kafka Broker 的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器中的任何一个从早期 1.0.x、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 版本升级到 1.0.1.Final 时,请首先查看您正在使用的版本的升级说明。正常停止正在运行的连接器,移除旧的插件文件,安装 1.0.1.Final 插件文件,并使用相同的配置重启连接器。重启后,1.0.1.Final 连接器将从上一个连接器中断的地方继续。正如您可能预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
在将 PostgreSQL 数据库中的 DecoderBufs 逻辑解码插件升级到此新版本之前(或拉取该新版本的 debezium/postgres 容器镜像时),必须将 Debezium PostgreSQL 连接器升级到 1.0.1.Final 或 1.1.0.Alpha2 或更高版本(DBZ-1052)。
修复
此版本包含以下修复
-
使 PostgreSQL 中的槽创建更加健壮 DBZ-1684
-
支持将 boolean 作为 MySQL INT(1) 列的默认值 DBZ-1689
-
DDL 解析器无法识别 SIGNAL 语句 DBZ-1691
-
使用嵌入式模式时,MYSQL 连接器失败 DBZ-1693
-
在 Postgres 中向表中添加新的非空列后连接器出错 DBZ-1698
-
MySQL 连接器无法解析触发器 DDL DBZ-1699
-
MySQL 连接器不使用 connector.port 的默认值 DBZ-1712
-
ANTLR 解析器无法解析带有 TRANSACTIONAL 属性的 MariaDB 表 DDL DBZ-1733
-
Postgres 连接器不支持代理连接 DBZ-1738
-
GET DIAGNOSTICS 语句无法解析 DBZ-1740
-
MySql 密码在 debug 日志级别被记录下来 DBZ-1748
1.0.0.Final 版 (2019 年 12 月 18 日)
查看 完整的 issues 列表。
Kafka 兼容性
此版本已基于 Kafka Connect 2.4.0 构建,并已使用 2.4.0 版本的 Kafka Broker 进行测试。有关与其他版本 Kafka Broker 的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器中的任何一个从早期 1.0.x、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 版本升级到 1.0.0.Final 时,请首先查看您正在使用的版本的升级说明。正常停止正在运行的连接器,移除旧的插件文件,安装 1.0.0.Final 插件文件,并使用相同的配置重启连接器。重启后,1.0.0.Final 连接器将从上一个连接器中断的地方继续。正如您可能预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
Debezium 1.0.0.CR1 中引入的孵化中的 SerDes 类型 io.debezium.serde.Serdes 已重命名为 io.debezium.serde.DebeziumSerdes,以避免与同名 Apache Kafka 类型冲突(DBZ-1670)。
与其他关系型连接器一样,MySQL 连接器现在支持 snapshot.lock.timeout.ms 选项,默认超时时间为 10 秒。升级连接器并执行新快照时,此超时现在可能适用,而之前连接器将无限期等待以获取所需的锁。在这种情况下,应根据您的具体要求调整超时时间(DBZ-1671)。
新功能
-
支持从 SQL Server "AlwaysOn" 副本流式传输更改 DBZ-1642
1.0.0.CR1 版 (2019 年 12 月 10 日)
查看 完整的 issues 列表。
Kafka 兼容性
此版本已基于 Kafka Connect 2.3.1 构建,并已使用 2.3.1 版本的 Kafka Broker 进行测试。有关与其他版本 Kafka Broker 的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器中的任何一个从早期 1.0.x、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 版本升级到 1.0.0.CR1 时,请首先查看您正在使用的版本的升级说明。正常停止正在运行的连接器,移除旧的插件文件,安装 1.0.0.CR1 插件文件,并使用相同的配置重启连接器。重启后,1.0.0.CR1 连接器将从上一个连接器中断的地方继续。正如您可能预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
对于 SQL Server 和 Oracle 连接器,快照模式 initial_schema_only 已被弃用,将在未来版本中删除。请改用 schema_only(DBZ-585)。
1.0.0.Beta3 版 (2019 年 11 月 14 日)
查看 完整的 issues 列表。
Kafka 兼容性
此版本已基于 Kafka Connect 2.3.1 构建,并已使用 2.3.1 版本的 Kafka Broker 进行测试。有关与其他版本 Kafka Broker 的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器中的任何一个从早期 1.0.x、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 版本升级到 1.0.0.Beta3 时,请首先查看您正在使用的版本的升级说明。正常停止正在运行的连接器,移除旧的插件文件,安装 1.0.0.Beta3 插件文件,并使用相同的配置重启连接器。重启后,1.0.0.Beta3 连接器将从上一个连接器中断的地方继续。正如您可能预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
PostgreSQL 连接器的配置参数 drop_on_stop 已重命名为 drop.on.stop(DBZ-1595),以使其与其他参数名称保持一致。
修复
此版本包含以下修复
-
Debezium 错误地报告没有要捕获的表 DBZ-1519
-
Debezium Oracle 连接器尝试分析表 DBZ-1569
-
“before”中的 Null 值被填充为“__debezium_unavailable_value” DBZ-1570
-
Postgresql 11+ pgoutput 插件在截断时出错 DBZ-1576
-
Postgres 连接器在具有大量表的数据库的架构发现过程中超时(回归) DBZ-1579
-
快照处理期间 ts_ms 值不正确 DBZ-1588
-
LogInterceptor 不是线程安全的 DBZ-1590
-
非白名单表的 Heartbeat 不会生成 DBZ-1592
-
SQL Server 连接器的 configDef 中缺少 tombstone.on.delete 配置 DBZ-1593
-
AWS RDS Performance Insights 因“SELECT COUNT(1) FROM pg_publication”中未关闭的语句而稍有受损 DBZ-1596
-
更新 Postgres 文档以使用 ts_ms 而不是 ts_usec DBZ-1610
-
尝试快照非白名单表的架构时发生异常 DBZ-1613
其他更改
此版本还包括其他更改
-
构建时自动格式化源代码 DBZ-1392
-
根据技术预览更新文档 DBZ-1543
-
减小 Postgres 容器镜像的大小 DBZ-1549
-
Debezium 不应使用 SHARE UPDATE EXCLUSIVE MODE 锁 DBZ-1559
-
允许将标签传递给 CI 作业 DBZ-1578
-
升级 MongoDB 驱动到 3.11 DBZ-1597
-
在 Travis CI 中运行格式化验证 DBZ-1603
-
将格式化规则放入 Maven 模块 DBZ-1605
-
升级到 Kafka 2.3.1 DBZ-1612
-
允许为 TableId 使用中的 schema/catalog 优先级进行每个连接器的设置 DBZ-1555
1.0.0.Beta2 版 (2019 年 10 月 24 日)
查看 完整的 issues 列表。
Kafka 兼容性
此版本已基于 Kafka Connect 2.3.0 构建,并已使用 2.3.0 版本的 Kafka Broker 进行测试。有关与其他版本 Kafka Broker 的兼容性,请参阅 Kafka 文档。
升级
在升级 MySQL、MongoDB、PostgreSQL 或 SQL Server 连接器之前,请务必检查自您正在使用的版本以来所做的任何不兼容性更改。
当您决定将这些连接器中的任何一个从早期 1.0.x、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 版本升级到 1.0.0.Beta2 时,请首先查看您正在使用的版本的升级说明。正常停止正在运行的连接器,移除旧的插件文件,安装 1.0.0.Beta2 插件文件,并使用相同的配置重启连接器。重启后,1.0.0.Beta2 连接器将从上一个连接器中断的地方继续。正如您可能预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
修复
此版本包含以下修复
-
由于 RocksDB 存储引擎不支持 START TRANSACTION WITH CONSISTENT SNAPSHOT 的 REPEATABLE READ 隔离级别,快照因最后运行 'UNLOCK TABLES' 时出错而中止。DBZ-1428
-
MySQL 连接器在解析包含索引定义关键字 VISIBLE 的 DDL 时失败 DBZ-1534
-
MySQL 连接器无法解析 DDL - GRANT SESSION_VARIABLES_ADMIN… DBZ-1535
-
Mysql 连接器:主键不能引用表中不存在的列 'id' '*' DBZ-1560
-
当集合名称中存在点时,源结构(source struct)的 collection 字段不正确 DBZ-1563
-
数据库快照后事务仍处于打开状态 DBZ-1564
1.0.0.Beta1 版 (2019 年 10 月 17 日)
查看 完整的 issues 列表。
Kafka 兼容性
此版本已基于 Kafka Connect 2.3.0 构建,并已使用 2.3.0 版本的 Kafka Broker 进行测试。有关与其他版本 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 版本升级到 1.0.0.Beta1 时,请首先查看您正在使用的版本的升级说明。正常停止正在运行的连接器,移除旧的插件文件,安装 1.0.0.Beta1 插件文件,并使用相同的配置重启连接器。重启后,1.0.0.Beta1 连接器将从上一个连接器中断的地方继续。正如您可能预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的 Docker 镜像,请不要忘记从 Docker 注册中心重新拉取它们。
重大更改
ExtractNewDocumentState 和 EventRouter SMTs 现在会原样传播任何 heartbeat 或 schema 更改消息,而不是像以前那样丢弃它们。这是为了确保与 ExtractNewRecordState SMT 的一致性(DBZ-1513)。
新的 Postgres 连接器选项 interval.handling.mode 允许控制 INTERVAL 列是导出为微秒(以前的行为,仍为默认值)还是导出为 ISO 8601 格式的字符串(DBZ-1498)。当现有连接器捕获 INTERVAL 列时,必须维护以下升级顺序
-
升级 Debezium Kafka Connect PostgreSQL 连接器
-
升级数据库中安装的逻辑解码插件
-
(可选) 将
interval.handling.mode切换为 string
特别是,应避免在连接器之前升级逻辑解码插件,因为这会导致 INTERVAL 列没有值被导出。