Debezium 3.0 版本说明

Debezium 发行的所有重要更改都记录在此文件中。发行编号遵循 语义化版本控制

Release 3.0.8.Final (2025 年 3 月 3 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.9.0 构建,并已使用 Kafka Broker 的 3.9.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.8.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.8.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.8.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

schema.history.internal.store.only.captured.databases.ddl 的文档提供的默认值不正确。虽然这不是一个真正的破坏性更改,但您应该评估您的部署是否依赖于不同的默认值(DBZ-8558)。

Debezium 为 PostgreSQL sparsevec 数据引入了 SparseVector 数据类型。此版本引入了对 Oracle 向量数据类型的支持,并将 SparseVector 重命名为跨连接器类型(DBZ-8585)。

Debezium Vitess 连接器存在一个罕见但关键的数据丢失 bug,该 bug 自其第一个 PR(5 年前)以来一直存在。如果主键更新是事务中的最后一个操作,则可能会丢失记录。影响所有先前版本。建议立即更新(DBZ-8594)。

当启用 Oracle LOB 处理时,列重新选择器不会发出 LOB 列。此问题已得到更改,无论配置设置如何,重新选择器都会发出 LOB 列(DBZ-8653)。

新功能

修复

  • JDBC sink 连接器不会从 postgres 数据库表中删除行 DBZ-8287

  • MariaDB 适配器在 ALTER USER 语句上失败 DBZ-8436

  • 表达式导致 Percona SEQUENCE_TABLE 函数的 SQL 解析器异常 DBZ-8559

  • MongoDataConverter 不识别嵌套的空数组。DBZ-8572

  • 当 log.mining.restart.connection 启用且连接默认为 PDB 而不是 CDB$ROOT 时,日志切换时会发生 ORA-65040。DBZ-8577

  • 减小的记录缓冲区无法处理具有主键字段的 RECORD_VALUE DBZ-8593

  • 使用混合挖掘策略时,具有生成列的表事件会失败 DBZ-8597

  • ANTLR DDL 解析错误 DBZ-8600

  • 删除关于撤销更改失败的误导性日志条目 DBZ-8645

  • Oracle 指标 OldestScnAgeInMilliseconds 未考虑数据库时区 DBZ-8646

  • 使用 RECORD_VALUE 与 DELETE 事件会导致 NullPointerException DBZ-8648

  • 批次大小计算错误地使用了 min-batch-size DBZ-8652

  • Oracle 在事务包含大量约束冲突时性能下降 DBZ-8665

  • 跳过具有等于 0 的 redo 线程的提交的空事务 DBZ-8681

  • DDL 语句无法解析:GRANT SENSITIVE_VARIABLES_OBSERVER DBZ-8685

  • 当列类型在 ALTER TABLE 过程中未更改时,列的精度会被重置 DBZ-8700

  • 使用 DEFAULT ON NULL 子句时,Alter table modify column 失败 DBZ-8720

  • ExtractChangedRecordState SMT 现在可以处理带有默认值的字段 DBZ-8721

  • Oracle RAC 节点重启会导致 redo 线程无限期不一致 DBZ-8724

  • 指定非零值的 archive.log.hours 会生成错误的 SQL DBZ-8725

  • debezium/connect docker 镜像在 arm64 上不可用 DBZ-8728

  • 未知 DDL ALTER INDEX <name> 被忽略 DBZ-8741

  • MariaDB 的 schema.history.internal.skip.unparseable.ddl 可能存在问题 DBZ-8745

  • Oracle 快照的 source.ts 未考虑数据库时区差异 DBZ-8749

其他更改

  • 将 MySQL 和 MariaDB 的语法与上游版本保持一致 DBZ-8270

  • 将 Debezium Server 和 Operator 更新到 Quarkus 3.15.3 LTS DBZ-8601

  • 允许可选地从 Oracle 包中移除 ehcache DBZ-8602

  • 为产品化准备 Logical message decoder SMT 文档 DBZ-8641

  • 记录 snapshot.isolation.mode 属性的文档 DBZ-8659

  • 更新测试计算 MariaDB 驱动程序 3.5 的默认时区时间的方式 DBZ-8742

Release 3.0.7.Final (2025 年 1 月 15 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.9.0 构建,并已使用 Kafka Broker 的 3.9.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.7.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.7.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.7.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

此发行版中没有重大更改。

新功能

此发行版中没有新功能。

修复

  • 提交偏移量时发生的异常不会触发重试逻辑。DBZ-2386

  • 修复了在启用有序事务元数据时启动时的无效 gtid 错误。DBZ-8541

  • debezium conductor 中的依赖冲突 DBZ-8542

  • Debezium operator 生成错误的 offset 和 schema history 属性。DBZ-8543

  • 最近的日志切换在日志收集过程中可能被视为一致。DBZ-8546

其他更改

此版本没有其他更改。

Release 3.0.6.Final (2024 年 12 月 19 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.9.0 构建,并已使用 Kafka Broker 的 3.9.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.6.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.6.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.6.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

此发行版中没有重大更改。

新功能

此发行版中没有新功能。

修复

其他更改

此版本没有其他更改。

Release 3.0.5.Final (2024 年 12 月 18 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.9.0 构建,并已使用 Kafka Broker 的 3.9.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.5.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.5.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.5.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

Debezium 在连接器重启时重新处理信号。这可能导致不可预测的行为,并可能产生意外的副作用。因此,该功能已被移除,如果连接器停止,信号必须重新发送(DBZ-7856)。

source 信息块架构中的快照枚举已扩展,以覆盖所有可能的用例(DBZ-8496)。

新功能

  • 列出 Debezium 示例 Repo 的根 README.md 中的所有示例 DBZ-2535

  • 测试 MS SQL Server 插件与透明数据加密 (TDE) DBZ-4590

  • 允许对未捕获其架构的表进行即时快照 DBZ-4903

  • 支持 Postgres 17 故障转移槽 DBZ-8412

  • 在 EventDispatcher 的 dispatchSnapshotEvent 中改进错误处理 DBZ-8433

  • 连接器配置日志记录改进 DBZ-8472

  • 优雅地处理无法解析的 DDL DBZ-8479

  • 在指标中跟踪 LogMiner 部分回滚事件 DBZ-8491

  • 在 CRD 中支持 JDBC 偏移/历史配置 DBZ-8501

修复

  • debezium.sink.pulsar.client.serviceUrl 和 debezium-server 的错误 DBZ-3720

  • MySQL 回归 - store.only.captured.tables.ddl 默认为 true DBZ-6709

  • ExtractNewRecordState 在可选的 null 字段(有默认值)时 DBZ-7094

  • DebeziumException: No column '' where ' found in table DBZ-8034

  • MySQL 连接器不处理 Binlog 中的 CREATE DATABASE 记录 DBZ-8291

  • 当使用多个任务时,Vgtid 不包含多个分片 GTID DBZ-8432

  • 对象 ID 缓存可能因并发修改异常而失败 DBZ-8465

  • Oracle 不必要地收集和记录视图的对象属性 DBZ-8492

  • 当使用回退非闪回区域查询时,ReselectColumnPostProcessor 可能抛出 ORA-01003 "no statement parsed" DBZ-8493

  • Oracle DDL ALTER TABLE ADD CONSTRAINT 无法解析 DBZ-8494

  • 在添加新配置属性时编辑源/目标会移除旧的属性 DBZ-8495

  • JDBC Schema History 中属性名称无效 DBZ-8500

  • 修复 Pipeline 日志页面中的 URL DBZ-8502

  • 由于 "Required Start SCN" 错误消息,启动 LogMiner 挖掘会话失败 DBZ-8503

  • Oracle 数据泵 TEMPLATE_TABLE 子句不支持 DBZ-8504

  • Postgres alpine 镜像在构建时需要 lang/llvm 19 DBZ-8505

  • TimezoneConverter include.list 应在设置时被尊重 DBZ-8514

  • debezium-platform-conductor 中的日志类缺失 DBZ-8515

  • Debezium Server 在使用 Kinesis sink 时启动失败 DBZ-8517

  • 跳过 GoldenGate REPLICATION MARKER 事件 DBZ-8533

其他更改

  • 添加 SSL 启用 Kafka 的示例 DBZ-1937

  • 创建烟雾测试以确保 Debezium Server 容器镜像正常工作 DBZ-3226

  • 将 MySQL 和 MariaDB 的语法与上游版本保持一致 DBZ-8270

  • 支持 MongoDB 8.0 DBZ-8451

  • 更新 message.key.columns 的描述并在 PG 文档中格式化警示语 DBZ-8455

  • 在 UI 中添加基本验证,以在提交前检查表单的完整性。 DBZ-8474

  • 使用模式演进工具管理 conductor 数据库 DBZ-8486

  • 将 Outbox 扩展更新到 Quarkus 3.17.3 DBZ-8506

  • 合并 conductor 和 stage 到单一平台仓库 DBZ-8508

  • 容器测试使用 -DskipITs 执行 DBZ-8509

  • 为 PR 上的 UI 单元测试添加 github 工作流 DBZ-8526

Release 3.0.4.Final (2024 年 11 月 28 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.9.0 构建,并已使用 Kafka Broker 的 3.9.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.4.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.4.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.4.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

此发行版中没有重大更改。

新功能

  • 更新 UI,以便在运行容器镜像时从 ENV Var 在运行时传递后端 URL DBZ-8424

  • 在 mysql-binlog-connector 中添加对 mysql_clear_password 的支持 DBZ-8445

修复

  • Debezium db2i CDC 源连接器似乎没有拾取 JOURNAL_ENTRY_TYPES ⇒ 'DR' 记录 DBZ-8453

  • 迁移到异步引擎后,测试随机失败 DBZ-8461

  • API 服务区分器使用了无效的标签 DBZ-8464

其他更改

  • 将剩余的 testsuite 迁移到异步引擎 DBZ-7977

  • 将 QOSDK 更新到版本 6.9.1 DBZ-8452

  • 在 Debezium Server 中添加 JDBC 存储模块 DBZ-8460

Release 3.0.3.Final (2024 年 11 月 25 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.9.0 构建,并已使用 Kafka Broker 的 3.9.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.3.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.3.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.3.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

此发行版中没有重大更改。

新功能

  • 添加对 bpchar 数据类型的支持 DBZ-8416

  • 允许 DS 资源的某些部分引用配置中主资源的值 DBZ-8431

修复

  • Spanner 测试随机失败 DBZ-8410

  • 当在连接器停止期间抛出错误时,引擎关闭可能会卡住 DBZ-8414

  • JdbcOffsetBackingStore 未能正常释放 debezium_offset_storage 的锁 DBZ-8423

  • 安装文档中的下载链接拼写错误 DBZ-8429

  • 当转换器返回 null 时,Asycn 引擎以 NPE 失败 DBZ-8434

  • 快照完成标志未正确保存在偏移量中 DBZ-8449

  • Oracle log.mining 属性的描述中显示了格式字符 DBZ-8450

  • 防止 netty 版本 4.1.111.Final 导致数据损坏 DBZ-8438

其他更改

  • 在 DS Operator 中支持配置映射偏移量存储 DBZ-8352

  • 将 Vitess testsuite 迁移到异步引擎 DBZ-8377

  • 将 Spanner testsuite 迁移到异步引擎 DBZ-8381

  • 不要为不支持的数据库版本构建镜像 DBZ-8413

  • 将 UI 中的 PatternFly 版本从 6.beta 更新到最终版 6.0 DBZ-8415

  • 修复 UI 构建问题 DBZ-8435

  • 将 AbstractConnectorTest#createEngine 方法设为抽象 DBZ-8441

Release 3.0.2.Final (2024 年 11 月 15 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.9.0 构建,并已使用 Kafka Broker 的 3.9.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.2.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.2.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.2.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

此发行版中没有重大更改。

新功能

  • 将文件信号通道文档添加到信号通道章节 DBZ-7245

  • 提高重启情况下阻塞快照的可靠性 DBZ-7903

  • 允许跳过与 DML 解析器错误相关的异常 DBZ-8208

  • 在 Operator CR 中启用 DS REST API 的功能 DBZ-8234

  • 添加从 UI 下载和流式传输 Pipeline 日志的功能 DBZ-8239

  • 添加对 Vitess 连接器发送 DDL 事件的支持 DBZ-8325

  • Vstream 表过滤器匹配完整表名 DBZ-8354

  • MongoDB 的 RowsScanned JMX 指标与关系型连接器不同 DBZ-8359

  • 重构 CassandraTypeProvider 以不包含 getClusterName 方法 DBZ-8373

  • Debezium Oracle 连接器接受 NLS 时间格式(用于日期和时间戳列)的可能性 DBZ-8379

  • 提供配置以允许发送不带历史模式的模式更改事件 DBZ-8392

  • 在 DS 中实现新的配置映射偏移量存储 DBZ-8351

修复

  • stop-snapshot 信号中的竞态条件 DBZ-8303

  • 尽管 RabbitMQ 超时和消息未确认,Debezium 服务器仍偏移 binlog 偏移量 DBZ-8307

  • 使用 EventHubs sink 类型和 EventHubs 模拟器连接字符串的 Debezium 服务器失败 DBZ-8357

  • 使用信号进行快照的过滤器似乎不起作用 DBZ-8358

  • JDBC 存储模块不使用 quay.io 镜像 DBZ-8362

  • offset store 调用 configure/start 的失败被记录为 DEBUG 级别 DBZ-8364

  • S3 schema history 字段列表中缺少对象名称 DBZ-8366

  • 错误的 "Failed to load mandatory config" 错误消息 DBZ-8367

  • 升级 protobuf 依赖项以避免潜在漏洞 DBZ-8371

  • IncrementalSnapshotIT 中的测试可能随机失败 DBZ-8386

  • ExtractNewRecordState 转换:处理非信封记录时出现 NPE DBZ-8393

  • Oracle LogMiner 指标 OldestScnAgeInMilliseconds 可能为负值 DBZ-8395

  • SqlServerConnectorIT.restartInTheMiddleOfTxAfterCompletedTx 随机失败 DBZ-8396

  • ExtractNewDocumentStateTestIT 随机失败 DBZ-8397

  • BlockingSnapshotIT 在 Oracle 上失败 DBZ-8398

  • Oracle OBJECT_ID 查询和混合挖掘模式下的高 CPU 和延迟 DBZ-8399

  • Debian 上 PostgreSQL 17 的 Protobuf 插件无法编译 DBZ-8403

其他更改

  • 澄清信号数据收集应因连接器而异 DBZ-6837

  • 在 Debezium sink 连接器中使用 DebeziumSinkRecord 而不是 Kafka Connect 的 SinkRecord DBZ-8346

  • 将 SQL Server testsuite 迁移到异步引擎 DBZ-8353

  • 从解析器中移除不必要的转换器代码 DBZ-8360

  • 重复 Cassandra Debezium 测试 DBZ-8363

  • 将 MongoDB testsuite 迁移到异步引擎 DBZ-8369

  • 将 Oracle testsuite 迁移到异步引擎 DBZ-8370

  • 向转换页面添加功能,提供一个集中的位置来列出已配置的转换器,并提供 UI 来添加新转换器 DBZ-8374

  • 将 Debezium testsuite 的其余部分迁移到异步引擎 DBZ-8375

  • 将 DB2 testsuite 迁移到异步引擎 DBZ-8380

  • 将 IBM i testsuite 迁移到异步引擎 DBZ-8382

  • 将 Kafka 升级到 3.8.1 DBZ-8385

  • 添加转换编辑和删除支持。 DBZ-8388

  • 如果最近发生了一个检查点,Log SCN 存在性检查可能会抛出 ORA-01291 DBZ-8389

  • 将 Kafka 升级到 3.9.0 DBZ-8400

  • 将 Outbox 扩展更新到 Quarkus 3.16.3 DBZ-8409

Release 3.0.1.Final (2024 年 10 月 25 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.8.0 构建,并已使用 Kafka Broker 的 3.8.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.1.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.1.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.1.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

Debezium 不再发布到 Docker Hub 的容器镜像(DBZ-8327)。

新功能

  • 支持批量写入 AWS Kinesis DBZ-8193

  • 支持 PostgreSQL 17 DBZ-8275

  • 扩展 Debezium Server 以支持 application.yaml DBZ-8313

  • SQL Server 关于 CDC 在 Server 表上的文档 DBZ-8314

  • 添加对 MySQL 9.1 的支持 DBZ-8324

  • 支持 Cassandra 5.0 DBZ-8347

修复

  • 如果 DDL 以换行符结尾,Oracle DDL 解析将失败 DBZ-7040

  • 缺少 MongoDb SSL 配置的文档 DBZ-7927

  • 用于 MySQL/MariaDB 内容的单源条件化实现未按预期工作 DBZ-8094

  • Debezium 正在重放来自旧偏移量的所有事件 DBZ-8194

  • 自 2.5.4.Final 以来,嵌入式 MySqlConnector 出现“无法找到最小快照锁定模式” DBZ-8271

  • Reselect Post Processor 在 pkey 类型为 uuid 等时不起作用 DBZ-8277

  • BinlogStreamingChangeEventSource 的 totalRecordCounter 永远不会更新 DBZ-8290

  • 当抛出 ORA-01001 无效游标异常时重启 Oracle 连接器 DBZ-8292

  • 创建偏移量时连接器使用错误的 파티션 名称 DBZ-8298

  • ReselectPostProcessor 在从 Oracle 重选列时失败 DBZ-8304

  • Debezium MySQL DDL 解析器:SECONDARY_ENGINE=RAPID 不支持 DBZ-8305

  • Oracle DDL 失败 - subpartition list 子句不支持 in-memory 子句 DBZ-8315

  • DDL 语句无法解析 DBZ-8316

  • Binary Log Client 不处理 TRANSACTION_PAYLOAD 头部 DBZ-8340

  • Oracle 连接器:archive.log.only.mode 在达到 SYSDATE SCN 后停止工作 DBZ-8345

其他更改

  • 提供活动监控指标的示例 DBZ-8174

  • 撰写关于如何使用 Debezium 检测数据变异模式的博客文章 DBZ-8256

  • 文档中的格式字符显示为文字 DBZ-8293

  • REST 测试因无法执行 cp 而失败 DBZ-8294

  • 创建 MariaDB 系统测试 DBZ-8306

  • 重构 MySqlTests 和 MariaDBTests 以通过父基类共享测试 DBZ-8309

  • 记录如何使用 ServiceLoader 和捆绑 jar 的文档 DBZ-8318

  • 上游系统测试损坏 DBZ-8326

  • 上游系统测试卡在检索连接器指标 DBZ-8330

  • 修复上游 JDBC 系统测试 DBZ-8331

  • 为 debezium-build-parent 添加 Cassandra 5 的版本 DBZ-8348

Release 3.0.0.Final (2024 年 10 月 2 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.8.0 构建,并已使用 Kafka Broker 的 3.8.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.0.Final 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.0.Final 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.0.Final 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

已移除 execute-snapshot 信号中已弃用的 additional-condition 字段。该字段已被先前引入的 additional-conditions 字段完全取代(DBZ-8278)。

新功能

  • 为 PG 添加自定义转换器的文档 DBZ-7820

  • 为 DBZ 信号通道创建 REST 桥 DBZ-8101

  • 在重新选择列后处理器中支持 int/bigint 数组 DBZ-8212

  • 当 debezium 无法将记录发送到 Kafka 时,记录记录键 DBZ-8282

修复

  • 自定义转换(全部转为字符串)和 SQLServer 默认的 '0' 类型问题 DBZ-7045

  • 运行 debezium-connector docker 镜像时出现 UnsupportedClassVersionError DBZ-7751

  • Error writing data to target database. (Caused by: java.lang.RuntimeException: org.postgresql.util.PSQLException: The column index is out of range: 140, number of columns: 139.) DBZ-8221

  • Debezium Server 在重启后消息未发送到 Pub/Sub DBZ-8236

  • 一个被中止的即时阻塞快照会将连接器置于损坏状态 DBZ-8244

  • JDBC Sink truncate 事件也将其添加到 updateBufferByTable DBZ-8247

  • mysql-binlog-connector-java 使用 java 21 编译失败 DBZ-8253

  • DDL 语句无法解析。 'mismatched input 'NOCACHE' expecting {'AS', 'USAGE', ';'} DBZ-8262

  • journal 处理在 journal 偏移量重置后循环 DBZ-8265

其他更改

  • 将异步引擎配置选项添加到服务器文档 DBZ-8133

  • 将 apicurio schema registry 升级到 2.6.2.Final DBZ-8145

  • 更正 PG publication.autocreate.mode 属性的 all_tables 选项的描述 DBZ-8268

  • 测试文档用于产品化并修复损坏的链接和渲染错误 DBZ-8284

Release 3.0.0.CR2 (2024 年 9 月 25 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.8.0 构建,并已使用 Kafka Broker 的 3.8.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.0.CR2 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.0.CR2 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.0.CR2 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

此发行版中没有重大更改。

新功能

  • Postgres 的快照隔离级别选项 DBZ-1252

  • 在 mysql 中发生 LockAcquisitionException 时重试 flush 记录 DBZ-7291

  • 添加对 MAX_STRING_SIZE 设置为 EXTENDED 的支持 DBZ-8039

  • 为 Debezium Vitess 连接器添加无效值日志记录器 DBZ-8235

  • 支持 BLOB 和 EMPTY_BLOB() 作为默认值 DBZ-8248

修复

  • Debezium 在抛出 ORA-00600 krvrdccs30 错误后不会自动重启 DBZ-8223

  • JDBC sink 未包含字段(与文档不符) DBZ-8224

  • 异步引擎中的无限处理线程 DBZ-8237

  • 流式指标在临时阻塞快照后卡住 DBZ-8238

  • DDL 语句无法解析 IF EXISTS DBZ-8240

  • 默认使用随机引擎工厂 DBZ-8241

  • JDBC sink test suite 应使用 debezium/connect:nightly 镜像进行 e2e 测试 DBZ-8245

  • Debezium Server Kafka 在 DBZ-7575 修复后出现性能回归 DBZ-8251

  • MySQL 连接器中包含 Error Prone 库 DBZ-8258

  • Debezium.text.ParsingException: DDL 语句无法解析 DBZ-8259

其他更改

  • 测试并检查与 ojdbc11 的兼容性 DBZ-3658

  • Streams 文档中关于配置日志记录的链接损坏 DBZ-8231

  • 为 JDBC 连接器的 passthrough hibernate.* 属性编写文档 DBZ-8232

  • 将 Infinispan 升级到 15.0.8.Final DBZ-8246

  • AbstractConnectorTest consumeRecordsUntil 可能会过早退出循环 DBZ-8250

  • 在文档中添加关于 JDBC 批处理重试配置的说明 DBZ-8252

  • 修复共享 MariaDB/MySQL 文件中的条件化 DBZ-8254

  • 添加 Oracle FUTC 许可证 DBZ-8260

  • 从产品程序集包中移除 Oracle 库 DBZ-8261

  • debezium-connector-binlog 不需要 MariaDB 依赖 DBZ-8263

  • 为 Debezium Server 提供子集包 DBZ-8264

  • 将容器镜像升级到 Fedora 40 DBZ-8266

Release 3.0.0.CR1 (2024 年 9 月 13 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.8.0 构建,并已使用 Kafka Broker 的 3.8.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.0.CR1 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.0.CR1 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.0.CR1 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

重大更改

对于配置了多个任务的 SQL Server 部署,JMX 信号和通知无法正常工作。为了解决此问题,有必要更改信号和通知 MBean 的命名,以使其对每个任务唯一(DBZ-8137)。

Oracle 连接器的已弃用配置选项已从项目中移除(DBZ-8181)。

为 PostgreSQL 引入的向量数据类型名称与 PostgreSQL 数据类型命名过于相似。类型名称已更改为更通用的名称,并在 PostgreSQL 和 MySQL 之间共享(DBZ-8183)。

新功能

  • 添加对 MySQL 9 的支持 DBZ-8030

  • 添加对 MySQL 向量数据类型的支持 DBZ-8157

  • 重构引擎信号支持 DBZ-8160

  • 添加继承分片 epoch 的功能 DBZ-8163

  • 当 Oracle RAC 节点之一离线时,避免 3 秒延迟 DBZ-8177

  • 截断字节缓冲区应返回一个新数组 DBZ-8189

  • 支持较旧的 MongoDb 版本 DBZ-8202

  • 将 VECTOR 函数添加到 MySQL 语法 DBZ-8210

  • 支持 MariaDB 11.4.3 DBZ-8226

  • 将 Helm Chart 安装信息添加到 Operator 的 README DBZ-8233

修复

  • 使 ORA-00600 - krvrdccs10 自动重试 DBZ-5009

  • 如果代理键不存在,增量快照会因 NPE 而失败 DBZ-7797

  • MySQL 8.4 因移除的 SQL 命令而不兼容 DBZ-7838

  • Postgres 连接器 - “money”类型列的 null 值处理。 DBZ-8027

  • 当使用 snapshot.include.collection.list 与 Oracle 时会引发 NullPointerException DBZ-8032

  • 重建时(log.mining.stragtegy 混合模式)性能下降 DBZ-8071

  • 源数据类型超出 Debezium 数据类型,无法反序列化对象 DBZ-8142

  • 测试中泛型类型使用不当 DBZ-8166

  • Postgres JSONB 字段不被 Reselect Post Processor 支持 DBZ-8168

  • 重启 Oracle 引擎时发生 NullPointerException (schemaUpdateCache 为 null) DBZ-8187

  • XStream 在重试时可能会因先前尝试失败而无法附加 DBZ-8188

  • 从捕获中排除 Oracle 23 VECSYS 表空间 DBZ-8198

  • AbstractProcessorTest 在针对 Oracle 23 Free 版本运行时使用不正确的数据库名称 DBZ-8199

  • DDL 语句无法解析:REVOKE IF EXISTS DBZ-8209

  • 系统 testsuite 因路由名称过长而失败 DBZ-8213

  • Oracle TableSchemaBuilder 在错误消息中提供了错误的列名 DBZ-8217

  • 在 Kafka connect 中使用 ehcache 时抛出 XMLConfiguration 解析异常 DBZ-8219

  • OcpJdbcSinkConnectorIT 失败 DBZ-8228

  • 容器镜像未安装正确的 apicurio 依赖项 DBZ-8230

其他更改

  • 信号的文档提供了某些连接器的数据收集格式不正确 DBZ-8090

  • 最新的 Informix JDBC 驱动程序 DBZ-8167

  • 将 adobe s3mock 升级到版本 3.10.0 DBZ-8169

  • 将 Jackson 库包含到 JDBC 连接器 Docker 镜像分发版中 DBZ-8175

  • Ehcache 启动失败,抛出 "Invaild XML Configuration" DBZ-8178

  • 在 Oracle 测试期间启用 snapshot.database.errors.max.retriesEnable DBZ-8184

  • 逻辑解码消息的更改事件不包含 transaction 字段 DBZ-8185

  • 添加 MariaDB 连接器服务器分发 DBZ-8186

  • 将 Vitess 示例更新到 Debezium 2.7/Vitess 19 DBZ-8196

  • OracleConnectorIT 测试 shouldGracefullySkipObjectBasedTables 可能过早超时 DBZ-8197

  • 减少 OpenLogReplicator SCN 确认的日志详细程度 DBZ-8201

  • 在文档导航中实现单独的源和宿连接器部分 DBZ-8220

Release 3.0.0.Beta1 (2024 年 8 月 22 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.8.0 构建,并已使用 Kafka Broker 的 3.8.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.0.Beta1 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.0.Beta1 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.0.Beta1 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

破坏性更改

Debezim Kafka sink 在 Kafka Broker 不可用时可能会无限期等待。已添加对可配置超时值的支持,默认行为是在 30 秒后超时(DBZ-7575)。

RabbitMQ 原生流 sink 会将所有更改消息发送到静态单个流。通过新的默认行为,更改会发送到每个表的独立流(DBZ-8118)。

新功能

  • 实现 Ehcache 事件缓冲区 DBZ-7758

  • 公开每个表创建、更新、删除事件数量的指标 DBZ-8035

  • 记录有关被放弃事务的附加详细信息 DBZ-8044

  • 引入复制槽创建的超时 DBZ-8073

  • ConverterBuilder 不将 Headers 传递以供操作 DBZ-8082

  • 添加 SMT 以解码逻辑解码消息的二进制内容 DBZ-8103

  • 支持 DECIMAL(p) 浮点数 DBZ-8114

  • 支持 PgVector 数据类型 DBZ-8121

  • 实现进程内信号通道 DBZ-8135

  • Validate log position 方法从 SourceInfo 中缺少 gtid 信息 DBZ-8140

  • Vitess 连接器 Epoch 应支持并行度和分片更改 DBZ-8154

  • publication.autocreate.mode 添加一个选项以创建不包含任何表的 publication DBZ-8156

修复

  • 增量快照与 CloudEvent 转换器不兼容 DBZ-7601

  • 快照重试逻辑陷入无限重试循环 DBZ-7860

  • 主键更新/快照竞态条件 DBZ-8113

  • 文档:connect-log4j.properties 而不是 log4j.properties DBZ-8117

  • 重新计算挖掘范围上限会导致 getScnFromTimestamp 失败 DBZ-8119

  • ORA-00600: 内部错误代码,参数:[krvrdGetUID:2],[18446744073709551614],[],[],[],[],[],[],[],[],[],[] DBZ-8125

  • ConvertingFailureIT#shouldFailConversionTimeTypeWithConnectModeWhenFailMode 随机失败 DBZ-8128

  • ibmi 连接器不再考虑自定义属性 DBZ-8129

  • 插入期间表行的不可预测顺序导致外键错误 DBZ-8130

  • schema_only 导致 ibmi 连接器崩溃 DBZ-8131

  • 支持更大的 database.server.id 值 DBZ-8134

  • Open redo 线程一致性检查可能导致 ORA-01291 - 缺少日志文件 DBZ-8144

  • SchemaOnlyRecoverySnapshotter 未注册为 SPI 服务实现 DBZ-8147

  • 当 Oracle RAC 节点停止时,Debezium 服务器会抛出异常 - ORA-12514: 无法连接到数据库并重试 DBZ-8149

  • Debezium 快照问题:使用 pgoutput 插件时出现 DateTimeParseException DBZ-8150

  • 当使用 record_value 且没有 primary.key.fields 时,JDBC 连接器验证失败 DBZ-8151

  • 使 RAC 节点离线再重新上线可能导致线程不一致 DBZ-8162

其他更改

  • MySQL 已弃用 mysql_native_password 的使用 DBZ-7049

  • 升级到 Apicurio 2.5.8 或更高版本 DBZ-7357

  • 撰写并发布 Debezium Orchestra 博客文章 DBZ-7972

  • 将 Debezium Conductor 仓库移动到 Debezium 组织下 DBZ-7973

  • 为 Debezium Orchestra 平台确定名称、jira 组件等…… DBZ-7975

  • 将 Postgres testsuite 迁移到异步引擎 DBZ-8077

  • 条件化 MySQL 默认值在 schema.history.internal.store.only.captured.databases.ddl 描述中的引用 DBZ-8081

  • 将 Debezium Server 升级到 Quarkus 3.8.5 DBZ-8095

  • Converters 文档使用错误的示例 DBZ-8104

  • 从临时快照文档中删除对“additional condition”信号参数的引用 DBZ-8107

  • TimescaleDbDatabaseTest.shouldTransformCompressedChunks 正在失败 DBZ-8123

  • 更新 Oracle 连接器文档,介绍限制 Debezium LogMiner 用户访问权限的选项 DBZ-8124

  • 使用 SQLSTATE 来处理复制槽创建命令超时的异常 DBZ-8127

  • 重新添加检查以测试程序集配置文件是否处于活动状态 DBZ-8138

  • 向日志添加 LogMiner 开始挖掘会话的重试计数器 DBZ-8143

  • 减少 XStream DML 事件数据的日志详细程度 DBZ-8148

  • 将 Outbox Extension 升级到 Quarkus 3.14.0 DBZ-8164

Release 3.0.0.Alpha2 (2024 年 8 月 2 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.8.0 构建,并已使用 Kafka Broker 的 3.8.0 版本进行了测试。有关与其他 Kafka Broker 版本兼容性的信息,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.0.Alpha2 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.0.Alpha2 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.0.Alpha2 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

破坏性更改

Debezium 现在使用 Kafka 3.8.0 构建。Kafka 内部 API 有一些小的更改。代码库已修改为同时支持 3.8.0 之前的版本和 3.8.0 版本(DBZ-8105)。

新功能

  • 向 Operator 添加 Status ObservedGeneration DBZ-8025

  • 在 Debezium Server 中支持自定义转换器 DBZ-8040

  • 支持 debezium-connector-spanner 中的 FLOAT32 类型 DBZ-8043

  • Debezium 应自动排除空分片(无表),并且在具有空分片的 keyspace 上不崩溃 DBZ-8053

  • 重构 LogMining 实现以允许替代缓存实现 DBZ-8054

  • HTTP sink 的标准 Webhook 签名 DBZ-8063

  • Vitess 连接器应提供支持每个表独立连接器的主题命名策略 DBZ-8069

  • 更新第三方 LICENSE,MariaDB Connector/J 使用 LGPL DBZ-8099

  • Rabbitmq 原生流失败 DBZ-8108

修复

  • 嵌入式 Infinispan 测试在 Java 23 下启动失败 DBZ-7840

  • 澄清 Oracle 连接器不从物理备用数据库读取 DBZ-7895

  • 增量快照上的 StackOverflow 异常 DBZ-8011

  • 当 insert.mode 设置为 upsert 且 primary.key.mode 设置为 record_value 时,JDBC primary.key.fields 不能为空 DBZ-8018

  • 无法获取 buffer 锁,buffer queue 可能已满 DBZ-8022

  • 发布过程为下一个开发版本设置了错误的 k8s 镜像 DBZ-8041

  • 为部署使用 recrate 作为(默认)滚动策略 DBZ-8047

  • 当快照增量为空数据库时出现“Unexpected input: .” DBZ-8050

  • Debezium Operator 使用 RollingUpdate 策略 DBZ-8051

  • Debezium Operator 使用 RollingUpdate 策略 DBZ-8052

  • Oracle 连接器在重做日志切换时出现不一致 DBZ-8055

  • 阻塞快照可能因 CommunicationsException 而失败 DBZ-8058

  • FakeDNS 在 JDK 版本 > 18 时不起作用 DBZ-8059

  • Debezium Operator 使用提供的 Service Account 时不会启动部署 DBZ-8061

  • 解析异常 (MySQL/MariaDB):重命名表语法 DBZ-8066

  • Oracle 直方图指标不再正确打印在日志中 DBZ-8068

  • 在混合 log.mining.strategy 重建中,日志应设置为 DEBUG DBZ-8070

  • 支持在快照期间捕获 MySQL/MariaDB 的 BLOB 列类型 DBZ-8076

  • 标准 Webhook 认证密钥配置值未标记为 PASSWORD_PATTERN DBZ-8078

  • Vitess 事务 Epoch 不应在 tx ID 丢失时重置为零 DBZ-8087

  • 在将列数据类型从 int 更改为 float 后,Debezium 无法对其进行四舍五入,并且我在流中获得了此字段的 null 值 DBZ-8089

  • MySQL 和 MariaDB 关键字 YES 不能作为列名解析 DBZ-8092

  • NotificationIT 测试似乎由于相互干扰而失败 DBZ-8100

  • ORA-26928 - 无法与 XStream 协调进程通信,应可重试 DBZ-8102

  • 在嵌入式引擎中未关闭转换 DBZ-8106

  • 在 TimescaleDb SMT 中加载 timescale 元数据后不要关闭连接 DBZ-8109

其他更改

  • 将 Infinispan 升级到 14.0.29.Final DBZ-8010

  • 撰写一篇关于异步引擎的博客文章 DBZ-8013

  • 测试偏移量/历史存储配置 DBZ-8015

  • 将 postgres 服务器版本升级到 15 DBZ-8062

  • 禁用 DebeziumResourceNoTopicCreationIT - 不再与 Java 21 兼容 DBZ-8067

  • 加速 PostgresShutdownIT DBZ-8075

  • 将 MariaDB 添加到 debezium/connect 镜像 DBZ-8088

Release 3.0.0.Alpha1 (2024 年 7 月 11 日)

查看 完整问题列表

Kafka 兼容性

此版本已针对 Kafka Connect 3.7.0 构建,并已使用 Kafka Broker 版本 3.7.0 进行了测试。有关与 Kafka Broker 其他版本的兼容性,请参阅 Kafka 文档

升级

在升级任何连接器之前,请务必检查自您使用的版本以来所做的向后不兼容的更改。

当您决定将这些连接器之一从任何早期版本升级到 3.0.0.Alpha1 时,请先检查您正在使用的版本的迁移说明。正常停止运行中的连接器,移除旧的插件文件,安装 3.0.0.Alpha1 插件文件,并使用相同的配置重新启动连接器。重启后,3.0.0.Alpha1 连接器将继续处理先前连接器中断的地方。正如您所料,由旧连接器之前写入 Kafka 的所有更改事件都不会被修改。

如果您使用我们的容器镜像,请不要忘记从 Quay.io 中拉取最新镜像。

破坏性更改

Debezium 连接器现在需要 Java 17 用于运行时,Java 21 用于构建。Debezium Server、Debezium Operator 和 Debezium Outbox 扩展需要 Java 21 用于构建和运行时(DBZ-6795)。

新功能

  • 提供 MongoDB sink 连接器 DBZ-7223

  • 扩展查找 Bundle 路径的过程 DBZ-7992

  • 支持 debezium-connector-spanner 中的 FLOAT32 类型 DBZ-8043

修复

  • Debezium postgres jdbc sink 未能处理 infinity 值 DBZ-7920

  • JdbcSinkTask 停止时未清除偏移量 DBZ-7946

  • ibmi as400 连接器配置未以 "database." 作为前缀 DBZ-7955

  • 重复的下游注解注释错误地引用了 Db2 连接器 DBZ-7968

  • 混合模式和 DDL 更改问题 DBZ-7991

  • 生成的偏移量/历史记录属性映射不正确 DBZ-8007

  • Debezium Server Operator 在 minikube 上出现 java.lang.NullPointerException:java.lang.NullPointerException DBZ-8019

  • ORA-65090:在非 CDB 数据库上连接时,操作仅允许在容器数据库中 DBZ-8023

  • 为 Prometheus JMX exporter 添加了类型 DBZ-8036

  • kafka.producer 指标添加到 debezium-server jmx exporter 配置 DBZ-8037

其他更改

  • 使用 Java 17 作为基线 DBZ-7224

  • 记录新的 MariaDB 连接器 DBZ-7786

  • 将 Maven 升级到 3.9.8 作为构建要求 DBZ-7965

  • 添加免责声明,说明 PostProcessors 和 CustomConverters 仅适用于 Debezium 源连接器 DBZ-8031

  • Bug 报告模板中的拼写错误 DBZ-8038

  • 寻找一种替代方法来手动部署带有本地更改的连接器,该方法与 Debezium 3 兼容 DBZ-8046

版权所有 © Debezium 及其作者。保留所有权利。有关我们的商标详情,请访问我们的 商标政策商标列表。第三方商标属于其各自所有者,在此提及并不表示任何认可或关联。
×