当前位置: 首页 > news >正文

Debezium日常分享系列之:Debezium 3.2.2.Final发布

Debezium日常分享系列之:Debezium 3.2.2.Final发布

  • Debezium CoreConnector
    • 启动时出现难以理解的错误
    • 临时阻塞快照失败可能导致数据丢失的问题修复
  • Debezium for Oracle

Debezium CoreConnector

启动时出现难以理解的错误

我们解决了一个问题,即连接器会因误导性的错误消息而无法启动,恢复了平滑的启动过程,同时保留了改进的偏移验证
用户在连接器启动过程中遇到了这种令人困惑的异常情况。

org.apache.kafka.connect.errors.DataException: Invalid value: null used for required field: "schema", schema type: STRING

这个不明确的错误信息没有提供任何有用的线索来确定实际问题所在,使故障排除变得几乎不可能。

这个问题是由于我们最近对偏移验证所做的改进引起的。我们改进了逻辑,在源数据库中不再有可用的偏移位置时提供更详细的错误消息,这有助于诊断常见的操作问题。

但是,新的验证逻辑假设在连接器启动时某些偏移属性已经存在。实际上,这些属性是在连接器生命周期的后期才被填充的,导致验证提前失败,并显示了一个无用的错误消息

我们更新了异常处理逻辑,旨在:

  • 避免在启动阶段对偏移量属性的可用性做出预设;
  • 在偏移量确实无效的情况下,保留强化的验证机制;
  • 当偏移位置确实存在问题时,提供有意义的错误信息;
  • 允许正常启动流程继续进行,避免误报干扰;

此项修复确保您能在不中断启动过程的前提下,获得增强的错误报告功能。

临时阻塞快照失败可能导致数据丢失的问题修复

我们已解决一个关键缺陷:当临时阻塞快照(ad-hoc blocking snapshots)执行异常时可能造成数据丢失。此次修复确保即使快照失败,流式数据仍能保持完整。

原问题分析:执行临时阻塞快照时,若表中存在无效数据会导致快照失败。该故障会引发严重副作用:快照期间产生的流式事件将永久丢失。这意味着,若快照运行数小时后遭遇异常数据,连接器恢复流式传输时将完全跳过这数小时内发生的所有实时数据变更。

解决方案:新版阻塞快照通过以下机制实现故障安全处理:

  • 精准保存快照起始位点:持久化记录快照开始前的精确流式处理位置
  • 自动断点续传:快照失败时自动从正确位置恢复处理
  • 数据零丢失保障:无论快照何时因何故中断,均确保数据完整性

价值说明:此项改进显著提升阻塞快照在生产环境的可靠性。

Debezium for Oracle

最后批次处理吞吐量指标优化我们提升了Oracle LogMiner适配器中LastBatchProcessingThroughput JMX指标的准确性,使您能更精准监控连接器性能。

原计算逻辑缺陷:此前该指标基于每批次实际处理的表事件数量计算吞吐量。该方式在以下场景会导致数据失真:

  • 库级过滤干扰:即使连接器仍需读取评估被过滤记录,事件计数减少导致吞吐量虚低
  • 事务标记干扰:事件流中的事务控制标记显著扭曲统计值,实际处理负载被低估
  • 配置项干扰:各类配置变更引发指标波动,无法真实反映连接器性能

新计算方案:现改为基于从LogMiner数据集读取的JDBC物理行数计算吞吐量,包含:

  • 被JVM配置过滤的行
  • 事务控制记录
  • 不符合表/模式过滤条件的行

核心价值:新版指标精准反映Debezium连接器在每批次处理窗口中的原始处理能力。

http://www.xdnf.cn/news/1483057.html

相关文章:

  • 九月六号练习题
  • 【基础-判断】一个页面可以存在多个@Entry修饰的组件。
  • 【LeetCode热题100道笔记】排序链表
  • DMA寄存器学习
  • B.50.10.11-Spring框架核心与电商应用
  • 拯救珍贵回忆:AI照片修复让老照片重获新生
  • 推荐的Java服务环境:JDK17+ZGC(JDK 21的ZGC支持分代回收,性能更高)
  • 一阶低通滤波:从原理到实践,平滑数据的艺术
  • 备份压缩与存储优化:智能数据管理全攻略
  • 读写锁 shared_mutex 共享互斥量介绍
  • Dart HashMap:不保证顺序的 Map 实现
  • (二).net面试(static)
  • MySQL--索引和事务
  • simd学习
  • esbuild入门
  • Cursor安装使用 与 Cursor网页端登录成功,客户端怎么也登陆不上
  • 解析噬菌体实验核心:从材料选择到功能验证的标准化操作框架
  • 数据结构——队列(Java)
  • 基于STM32单片机的酒驾检测设计
  • OpenAvatarChat项目在Windows本地运行指南
  • 【基础-单选】关于自定义组件的生命周期下列说法错误的是
  • 四款主流深度相机在Python/C#开发中的典型案例及技术实现方案
  • vant组件
  • 昇腾310i Pro固件说明
  • Vue3中SCSS的使用指南
  • 数据结构与算法1 第一章 绪论
  • AI工具深度测评与选型指南 - AI工具测评框架及方法论
  • Gitea:轻量级的自托管Git服务
  • 【左程云算法06】链表入门练习合集
  • GDAL 读取影像元数据