Debezium 2.1 发行说明
Debezium 发行的所有重要更改都记录在此文件中。发行编号遵循 语义化版本控制。
版本 2.1.4.Final (2023 年 4 月 4 日)
请参阅 完整的 issue 列表。
Kafka 兼容性
此版本是针对 Kafka Connect 3.3.1 构建的,并已在 Kafka 代理版本 3.3.1 上进行了测试。有关与其他 Kafka 代理版本兼容性的信息,请参阅 Kafka 文档。
升级
在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。
当您决定将这些连接器之一从任何早期版本升级到 2.1.4.Final 时,请先查看您正在使用的版本的迁移说明。正常停止正在运行的连接器,删除旧的插件文件,安装 2.1.4.Final 插件文件,然后使用相同的配置重新启动连接器。重新启动后,2.1.4.Final 连接器将从前一个连接器停止的地方继续。正如预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的容器镜像,请不要忘记从 DockerHub 重新拉取它们。
修复
-
MySQL 连接器在 max.queue.size.in.bytes 时出现 java.lang.NullPointerException DBZ-6104
-
debezium-connector-mysql 在解析几个 'CREATE TABLE' 的 DDL 时失败 DBZ-6124
-
Zerofill 属性对不同的 int 类型不起作用 DBZ-6185
-
GRANT DELETE HISTORY 在 mariadb 中无法解析 DBZ-6186
-
key partition table 的 ddl 解析失败 DBZ-6188
-
使用 CHARSET 进行 alterByConvertCharset 子句 DBZ-6194
-
连接器重新启动时数据丢失 DBZ-6204
-
DDL 语句无法解析:输入 'GRANT APPLICATION_PASSWORD_ADMIN' 时没有可行的替代项 DBZ-6211
-
ParsingException: DDL 语句无法解析 DBZ-6217
-
CHARACTER/CHARACTER(p)/CHARACTER VARYING(p) 数据类型未被识别为 JDBC 类型 CHAR DBZ-6221
-
MySQL singleDeleteStatement 解析器不支持表别名 DBZ-6243
-
缺少 GEOMETRY 关键字,该关键字可用作列名 DBZ-6250
-
MariaDB 的 UUID 列类型在加载模式时无法解析 DBZ-6255
-
example-postres 的多平台构建失败 DBZ-6258
-
将 protoc 版本属性添加到 postgres 连接器 pom.xml DBZ-6261
-
使用 Infinispan 缓存作为事务缓冲区时,带空格的表名无法正确反序列化 DBZ-6273
-
使用 Infinispan 缓存和 LOBs 时,事务缓冲区状态可能会损坏 DBZ-6275
其他更改
-
更新部署说明中的连接器配置示例 DBZ-6153
-
在 MongoDB change streams 主题中插入缺失的 Nebel 注释 DBZ-6215
-
为 MongoDB change streams 主题添加元数据 DBZ-6223
-
弃用 MongoDb 4.0 DBZ-6246
-
修复共享部署文件中到 Streams 文档的损坏链接 DBZ-6263
-
更新 OpenShift 上安装 Debezium 中的配置示例 DBZ-6267
-
在 RHEL 和 OCP 的下游安装指南中解决评审反馈 DBZ-6272
-
Oracle 测试使用的 Infinispan 缓存配置与 Infinispan 14.0.2 不兼容 DBZ-6274
-
将 MySQL JDBC 驱动程序升级到 8.0.32 DBZ-6304
版本 2.1.3.Final (2023 年 3 月 9 日)
请参阅 完整的 issue 列表。
Kafka 兼容性
此版本是针对 Kafka Connect 3.3.1 构建的,并已在 Kafka 代理版本 3.3.1 上进行了测试。有关与其他 Kafka 代理版本兼容性的信息,请参阅 Kafka 文档。
升级
在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。
当您决定将这些连接器之一从任何早期版本升级到 2.1.3.Final 时,请先查看您正在使用的版本的迁移说明。正常停止正在运行的连接器,删除旧的插件文件,安装 2.1.3.Final 插件文件,然后使用相同的配置重新启动连接器。重新启动后,2.1.3.Final 连接器将从前一个连接器停止的地方继续。正如预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的容器镜像,请不要忘记从 DockerHub 重新拉取它们。
重大更改
Oracle 连接器中的 SSN 字段在源信息块中被传播为 INT32。这可能导致某些安装溢出,因此该字段现在被传播为 INT64 (DBZ-6091)。
Debezium 在时区类型毫秒/微秒零时会截断,而不考虑模式宽度设置。现在情况已不再如此,Debezium 会提供正确数量的尾随零 (DBZ-6163)。
修复
-
ActivateTracingSpan 报告了错误的 timestamp DBZ-5827
-
Postgresql 重启时数据丢失 DBZ-5915
-
debezium-connector-cassandra 2.1.0.Alpha2 插件已无法“开箱即用” DBZ-5925
-
MongoDB 增量快照无法正常工作 DBZ-5973
-
在日志语句中屏蔽密码 DBZ-6064
-
加载自定义偏移存储时,由于 Class not found 错误而失败 DBZ-6075
-
如果数据库数量小于 maxTasks,SQL Server 任务将失败 DBZ-6084
-
当单个列上有多个索引时,GCP Spanner 连接器启动失败 DBZ-6101
-
使用 LOB 支持时,对多行的 UPDATE 可能导致事件数据不一致 DBZ-6107
-
MongoDB 重新连接时剩余尝试次数为负数 DBZ-6113
-
Oracle 无法捕获名称中包含空格或非 ASCII 字符的表,因为它们必须被引用。 DBZ-6120
-
在更改频率较低的 CDB 部署中,偏移量未前进到 PDB DBZ-6125
-
快照期间,Oracle TIMESTAMP WITH TIME ZONE 发出的时间为 GMT,而不是指定时区 DBZ-6143
-
配置选项 internal.schema.history.internal.ddl.filter 不起作用 DBZ-6190
版本 2.1.1.Final (2022 年 12 月 22 日)
请参阅 完整的 issue 列表。
Kafka 兼容性
此版本是针对 Kafka Connect 3.3.1 构建的,并已在 Kafka 代理版本 3.3.1 上进行了测试。有关与其他 Kafka 代理版本兼容性的信息,请参阅 Kafka 文档。
升级
在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。
当您决定将这些连接器之一从任何早期版本升级到 2.1.1.Final 时,请先查看您正在使用的版本的迁移说明。正常停止正在运行的连接器,删除旧的插件文件,安装 2.1.1.Final 插件文件,然后使用相同的配置重新启动连接器。重新启动后,2.1.1.Final 连接器将从前一个连接器停止的地方继续。正如预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的容器镜像,请不要忘记从 DockerHub 重新拉取它们。
修复
-
Spanner 连接器缺少 JSR-310 依赖项 DBZ-5959
版本 2.1.2.Final (2023 年 1 月 26 日)
请参阅 完整的 issue 列表。
Kafka 兼容性
此版本是针对 Kafka Connect 3.3.1 构建的,并已在 Kafka 代理版本 3.3.1 上进行了测试。有关与其他 Kafka 代理版本兼容性的信息,请参阅 Kafka 文档。
升级
在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。
当您决定将这些连接器之一从任何早期版本升级到 2.1.2.Final 时,请先查看您正在使用的版本的迁移说明。正常停止正在运行的连接器,删除旧的插件文件,安装 2.1.2.Final 插件文件,然后使用相同的配置重新启动连接器。重新启动后,2.1.2.Final 连接器将从前一个连接器停止的地方继续。正如预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的容器镜像,请不要忘记从 DockerHub 重新拉取它们。
重大更改
ZonedTimestamp 字符串被发送时删除了尾随小数秒零。当前行为是提供与源列长度/精度匹配的尾随零 (DBZ-5996)。
修复
-
mysql bigint 的数据类型转换失败 DBZ-5798
-
Oracle 无法撤销更改 DBZ-5907
-
截断与 ExtractNewRecordState 不兼容的记录 DBZ-5966
-
计算出的分区不能为负数 DBZ-5967
-
在 exclude.tables 配置时,执行快照信号时出现 NPE,因为提供了错误的表名 DBZ-5988
-
Postgresql 连接器解析 money 类型边界值时出现问题 DBZ-5991
-
Run PostgresConnectorIT.shouldReceiveChangesForChangeColumnDefault() 失败 DBZ-6002
-
可为空的列在 DDL 事件中被标记为“optional: false” DBZ-6003
-
Vitess: 处理当前 db shards 和持久化 shards 之间的 shard 列表差异 DBZ-6011
-
带有 TokuDB 引擎特定“CLUSTERING KEY”的 DDL 语句无法解析 DBZ-6016
-
DDL 解析失败,因为 role revoke 带有“user-like”的角色名 DBZ-6019
-
DDL 解析失败,因为 ALTER USER x DEFAULT ROLE y; DBZ-6020
-
在 Postgres 连接器发生错误时,偏移量未刷新到 connect offsets topic DBZ-6026
-
TIME 列的意外格式:8:00 DBZ-6029
-
Oracle 不支持 LOB 存储子句之后的压缩/日志记录子句 DBZ-6031
-
Debezium 正在记录包含错误信息的完整消息 DBZ-6037
-
提高从 Kafka 恢复内部模式历史的弹性 DBZ-6039
版本 2.1.0.Final (2022 年 12 月 22 日)
请参阅 完整的 issue 列表。
Kafka 兼容性
此版本是针对 Kafka Connect 3.3.1 构建的,并已在 Kafka 代理版本 3.3.1 上进行了测试。有关与其他 Kafka 代理版本兼容性的信息,请参阅 Kafka 文档。
升级
在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。
当您决定将这些连接器之一从任何早期版本升级到 2.1.0.Final 时,请先查看您正在使用的版本的迁移说明。正常停止正在运行的连接器,删除旧的插件文件,安装 2.1.0.Final 插件文件,然后使用相同的配置重新启动连接器。重新启动后,2.1.0.Final 连接器将从前一个连接器停止的地方继续。正如预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的容器镜像,请不要忘记从 DockerHub 重新拉取它们。
重大更改
MongoDB Debezium 连接器需要从集群的主节点流式传输。现在不再需要这样做,连接器更倾向于从非主节点读取 (DBZ-4339)。
Vitess Debezium 连接器现在支持快照。这意味着在新的连接器启动时,将默认快照现有内容 (DBZ-5930)。
版本 2.1.0.Beta1 (2022 年 12 月 16 日)
请参阅 完整的 issue 列表。
Kafka 兼容性
此版本是针对 Kafka Connect 3.3.1 构建的,并已在 Kafka 代理版本 3.3.1 上进行了测试。有关与其他 Kafka 代理版本兼容性的信息,请参阅 Kafka 文档。
升级
在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。
当您决定将这些连接器之一从任何早期版本升级到 2.1.0.Beta1 时,请先查看您正在使用的版本的迁移说明。正常停止正在运行的连接器,删除旧的插件文件,安装 2.1.0.Beta1 插件文件,然后使用相同的配置重新启动连接器。重新启动后,2.1.0.Beta1 连接器将从前一个连接器停止的地方继续。正如预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的容器镜像,请不要忘记从 DockerHub 重新拉取它们。
重大更改
Cassandra 的范围 tombstone 信息是一个纯字符串。现在提供了一个带有解析数据和类型的逻辑对象 (DBZ-5912)。
Cassandra TimeUUID 数据类型被传播为二进制对象,但文档中记录为字符串。这是不正确的,现在它被传播为字符串 (DBZ-5923)。
修复
-
处理 toasted String 数组 DBZ-4941
-
Cassandra 在启用实时处理时会删除退出时的日志文件 DBZ-5776
-
ReplicationConnectionIT 测试失败 DBZ-5800
-
MongoDB 增量快照的文档是 SQL 特定的 DBZ-5804
-
MongoDB 连接器 v2.0 中 snapshot.mode 属性的文档存在冲突 DBZ-5812
-
如果任务正在恢复而其他任务正在运行,则会抛出 IllegalStateException DBZ-5855
-
Avro 不支持负小数位数 DBZ-5880
-
连接器部署说明为 Debezium 脚本组件提供了错误的 Maven 路径 DBZ-5882
-
为创建自定义镜像的连接器部署说明中的 Streams Kafka 版本不正确 DBZ-5883
-
Run postgres connector RecordsStreamProducerIT 失败 DBZ-5895
-
支持列名中带有点的 INSERT INTO 语句 DBZ-5904
-
additional-condition 文档的默认值不正确 DBZ-5906
-
ConnectorLifecycle 在启动失败时不再记录异常堆栈跟踪 DBZ-5908
-
当 Redis 在 "info memory" 命令中不报告 "maxmemory" 字段时,Debezium Server 会因 NPE 而停止 DBZ-5911
-
PostgresConnectorIT#shouldAckLsnOnSourceByDefault 和 #shouldNotAckLsnOnSource 失败 DBZ-5914
-
SQL Server 连接器 database.instance 配置选项被忽略 DBZ-5924
-
安装 Debezium 文档中的 Java 版本不正确 DBZ-5928
-
Toasted varchar 数组未正确处理 DBZ-5944
其他更改
-
在所有测试中使用静态导入 Assertions DBZ-2432
-
在 MySQL 解析器中测试窗口函数 DBZ-3576
-
针对 Apicurio 注册表运行测试 DBZ-5838
-
添加针对 multinode RS 和(理想情况下)分片集群的测试 DBZ-5857
-
更新 Debezium Server with Cassandra Connector 的文档 DBZ-5885
-
允许 CI 将集群部署到 PSI DBZ-5887
-
Mariadb 和 Mysql 有不同的语法 DBZ-5888
-
按字母顺序列出集成测试 DBZ-5889
-
将 debezium-server-nats-jetstream 迁移到 AssertJ DBZ-5901
-
减少 jenkins 作业占用空间 DBZ-5905
-
将 Debezium Cassandra 连接器移出孵化阶段 DBZ-5922
-
清理 "doSnapshot" 配置代码 DBZ-5931
-
Cassandra 连接器 README 上的版本徽章卡住了 DBZ-5932
-
加快 Cassandra 容器的启动速度 DBZ-5933
-
修复 Cassandra 连接器的测试日志 DBZ-5934
版本 2.1.0.Alpha2 (2022 年 11 月 30 日)
请参阅 完整的 issue 列表。
Kafka 兼容性
此版本是针对 Kafka Connect 3.3.1 构建的,并已在 Kafka 代理版本 3.3.1 上进行了测试。有关与其他 Kafka 代理版本兼容性的信息,请参阅 Kafka 文档。
升级
在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。
当您决定将这些连接器之一从任何早期版本升级到 2.1.0.Alpha2 时,请先查看您正在使用的版本的迁移说明。正常停止正在运行的连接器,删除旧的插件文件,安装 2.1.0.Alpha2 插件文件,然后使用相同的配置重新启动连接器。重新启动后,2.1.0.Alpha2 连接器将从前一个连接器停止的地方继续。正如预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的容器镜像,请不要忘记从 DockerHub 重新拉取它们。
重大更改
Debezium REST 扩展未在 Debezium 容器中部署,必须由用户添加。现在不再需要这样,因为 REST 扩展已包含在内 (DBZ-4303)。
Debezium 镜像已升级以使用 Fedora 37 (DBZ-5461)。
PostgreSQL 连接器可以从重新创建的复制槽恢复流式传输,即使它不再包含连接器尚未看到的数据。结果可能是静默数据丢失。现在连接器会检查恢复点是否存在,如果不存在则启动失败 (DBZ-5739)。
修复
-
嵌入式引擎或服务器对所有类型的可重试错误无限重试 DBZ-5661
-
PostgreSQL 缺少元数据信息 DBZ-5789
-
对于 outbox 转换,当 'table.expand.json.payload' 设置为 true 时,null 值未正确反序列化 DBZ-5796
-
使用 Debezium Cassandra 连接器时,Cassandra decimal 值未被反序列化 DBZ-5807
-
Debezium Cassandra 连接器目前不支持 Cassandra varint 类型 DBZ-5808
-
MongoDB 连接器 v2.0 中的 'topic.prefix' 默认值 DBZ-5817
-
Quarkus outbox 扩展从未完成 open tracing span DBZ-5821
-
修复模式中的 range 字段名称,以符合 Avro 标准 DBZ-5826
-
ExtractNewDocumentState 不支持 updateDescription.updatedFields 字段 DBZ-5834
-
CREATE/ALTER user 不支持 COMMENT token DBZ-5836
-
模式的 Java 对象无效,类型为 FLOAT64:class java.lang.Float DBZ-5843
-
发生错误时,消息内容可能不会被记录 DBZ-5874
-
CREATE/ALTER user 不支持 ATTRIBUTE token DBZ-5876
其他更改
-
SQL 表重命名影响 Kafka 连接器和 topic DBZ-5423
-
创建 RHAF 版本的 Debezium 文档 DBZ-5729
-
在 RHAF 中添加 Debezium 文档部分 DBZ-5730
-
在文档中创建新的 Debezium 部分。 DBZ-5731
-
将 Debezium 文档添加到 DDF DBZ-5732
-
创建 ARO 预配作业 DBZ-5742
-
修改 Confluent Avro converter 安装文档 DBZ-5762
-
修改 ocp 系统测试以存档测试结果和日志 DBZ-5785
-
GitHub Actions:弃用 save-state 和 set-output 命令 DBZ-5824
-
更改几个模式更改处理器的日志条目的日志级别 DBZ-5833
-
撤销针对 Apicurio 注册表运行测试 DBZ-5839
-
将 Kubernetes 插件添加到 Jenkins DBZ-5844
-
OracleConnectorIT#shouldIgnoreAllTablesInExcludedSchemas 测试可能随机失败 DBZ-5850
-
将 wildfly-elytron 升级到 1.15.5 / 1.16.1,因为 CVE-2021-3642 DBZ-5854
-
将 PostgreSQL 示例镜像升级到 Postgres 15 DBZ-5860
-
GitHub Actions 弃用 Node 12 - actions/checkout DBZ-5870
版本 2.1.0.Alpha1 (2022 年 11 月 10 日)
请参阅 完整的 issue 列表。
Kafka 兼容性
此版本是针对 Kafka Connect 3.3.1 构建的,并已在 Kafka 代理版本 3.3.1 上进行了测试。有关与其他 Kafka 代理版本兼容性的信息,请参阅 Kafka 文档。
升级
在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。
当您决定将这些连接器之一从任何早期版本升级到 2.1.0.Alpha1 时,请先查看您正在使用的版本的迁移说明。正常停止正在运行的连接器,删除旧的插件文件,安装 2.1.0.Alpha1 插件文件,然后使用相同的(从同一主版本升级时)或更新的(从旧主版本升级时)配置重新启动连接器。重新启动后,2.1.0.Alpha1 连接器将从前一个连接器停止的地方继续。正如预期的那样,之前由旧连接器写入 Kafka 的所有更改事件都不会被修改。
如果您正在使用我们的容器镜像,请不要忘记从 DockerHub 重新拉取它们。
新功能
-
支持 Postgres 15 DBZ-5370
-
在 Debezium Engine 中添加对 SMT 谓词的支持 DBZ-5530
-
MySQL 连接器将 TRUNCATE 命令捕获为表 topic 中的消息 DBZ-5610
-
通过减少 REGEXP_LIKE 的析取来提高 LogMiner 查询性能 DBZ-5648
-
为 mongodb 连接器公开 heartbeatFrequency 设置 DBZ-5736
-
提供 Redis 存储作为存储模块 DBZ-5749
-
Redis Sink 等待 Redis Replica 写入 DBZ-5752
-
当 Redis 内存接近满时,Redis sink 的背压机制 DBZ-5782
-
增强清理 topic 名称的能力 DBZ-5790
修复
-
使用 snapshot boundary mode "all" 会在 Oracle RAC 上导致 DebeziumException DBZ-5302
-
ORA-01003: no statement parsed DBZ-5352
-
缺少快照待处理事务 DBZ-5482
-
Db2 文档引用了无效的 SMALLMONEY 和 MONEY 数据类型 DBZ-5504
-
使用 snapshot.mode ALWAYS 会使用来自偏移量的 SCN DBZ-5626
-
MongoDB 多任务监控失衡 DBZ-5629
-
当 lob.enabled 为 true 时,具有 NULL 值的 UNIQUE INDEX 会抛出异常 DBZ-5682
-
Oracle SQL 解析错误,当使用 collation 时 DBZ-5726
-
在执行增量快照时,列未被排除 DBZ-5727
-
无法解析的 DDL 语句 DBZ-5734
-
在 Oracle 源连接器的表快照过程中抛出 NullPointerException DBZ-5738
-
从 snapshot metrics docs 文件中删除将增量快照标记为 TP 功能的注释 DBZ-5748
-
ARO 中的负载均衡 OCP 服务缺少主机名 DBZ-5753
-
排除 Oracle Compression Advisor 表不被捕获,以避免无限循环 DBZ-5756
-
增加 Oracle 的日志记录 DBZ-5759
-
Oracle 应仅在 TRACE 级别记录行内容 DBZ-5760
-
更新系统测试伪件准备,以反映下游的命名更改 DBZ-5767
-
Outbox Router 文档关于值转换器已过时 DBZ-5770
-
单独使用 DBMS_LOB.ERASE 可能导致意外的 UPDATE,值为 null BLOB DBZ-5773
-
抑制已明确排除列的未确定可选性的日志记录 DBZ-5783
-
当 ORA-01089 异常嵌套时,Oracle 连接器不尝试重新启动 DBZ-5791
-
LSN 为 'LSN{XYZ}' 的消息在 location 阶段的 LSN 中未找到 DBZ-5792
-
配置的 merge 方法不起作用 DBZ-5801
-
Mysql 连接器 alter table 带有数据库名称的解析失败 DBZ-5802
其他更改
-
使用 Apicurio 转换器执行测试 DBZ-2131
-
网站缺少版本信息 DBZ-5083
-
ARO 上的 Debezium 进行健全性测试 DBZ-5647
-
SQL Server 连接器文档应提及多任务支持 DBZ-5714
-
从 Oracle 连接器文档中移除下游 TP 标识符(用于 RAC 内容) DBZ-5735
-
将 Pulsar 客户端升级到 2.10.1 DBZ-5737
-
参数化 Strimzi operator 名称,以允许在同一集群上运行多个测试套件 DBZ-5744
-
启用 CI 将结果报告给 ReportPortal 实例 DBZ-5745
-
Debezium 连接器附带一个旧版本的 google-protobuf,容易受到 CVE-2022-3171 的影响 DBZ-5747
-
Testsuite 因加密问题无法连接到 SQLServer DBZ-5763
-
Testsuite 在使用 docker 的 SQLServer 中使用了不正确的 jdbc 驱动程序类 DBZ-5764
-
升级 com.jayway.jsonpath:json-path DBZ-5766
-
运行 Oracle matrix 到下游时,未将产品配置文件用于 DBZ-5768
-
升级到 Quarkus 2.14.CR1 DBZ-5774
-
从 Fest 切换到 AssertJ DBZ-5779
-
将 postgres 驱动程序升级到版本 42.5.0 DBZ-5780
-
升级到 Quarkus 2.14.0.Final DBZ-5786
-
文档拼写错误,关于 cloudevents DBZ-5788
-
修复 DB2 报告的脚本路径 DBZ-5799
-
在 Oracle 文档中添加 ORA-01555 DBZ-5816
-
将 BaseSourceTask#logStatistics 方法的可见性更改为 protected DBZ-5822
-
将 Postgres 镜像升级到 Debian 11 DBZ-5823