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.pswp.cn/news/921410.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/921410.shtml
英文地址,请注明出处:http://en.pswp.cn/news/921410.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zoom AI 技术架构研究:联合式方法与多模态集成

一、研究背景与概述 在当今数字化转型加速的背景下,人工智能技术正深刻改变企业协作与沟通方式。作为全球领先的视频会议平台,Zoom 已从单纯的通信工具转型为全面的生产力平台,而其 AI 技术架构是这一转变的核心驱动力。本报告将深入分析 Zoom 的 AI 技术架构,特别是其创新…

排序-快速排序 O(n log n)

快排:1、设定一个中间值 q[ lr >>1 ] , 让左右区间来比较2、左边通过 i 依次比较,如果比这个中间值小,就继续 , 直到不符合3、右边通过 j-- 依次比较,如果比这个中间值大,就继续 ,直到不符合4、两边…

【Proteus仿真】定时器控制系列仿真——LED小灯闪烁/流水灯/LED灯带控制/LED小灯实现二进制

目录 0案例视频效果展示 0.1例子1:基于AT89C51单片机的定时器控制小灯闪烁 0.2例子2:基于AT89C51单片机的定时器T0流水灯 0.3例子3:基于AT89C51单片机的定时器控制LED灯带 0.4例子4:基于AT89C51单片机的定时器控制LED闪烁 0…

进阶向:密码生成与管理工具

密码生成与管理工具:从零开始的完全指南在现代数字生活中,密码是保护个人信息和账户安全的第一道防线。随着网络服务的普及,每个人平均需要管理数十个不同账户的密码。一个强大且独特的密码通常应包含12个以上字符,混合大小写字母…

解决 Gitee 中 git push 因邮箱隐私设置导致的失败问题

解决 Gitee 中 git push 因邮箱隐私设置导致的失败问题 在使用 Git 向 Gitee 远程仓库推送代码时,可能会遇到因邮箱隐私设置引发的 git push 失败情况。最近我就碰到了,现在把问题现象、原因和解决方法分享出来。 一、错误现象 执行 git push -u origin …

Flutter的三棵树

“三棵树”是 Flutter 渲染和构建UI的核心机制,理解它们对于掌握 Flutter 至关重要。这三棵树分别是: Widget 树 Element 树 RenderObject 树 它们协同工作,以实现 Flutter 的高性能渲染和高效的响应式编程模型。 Flutter 是声明式的UI&…

同一台nginx中配置多个前端项目的三种方式

目录 第一种方式:配置多个二级域名 第二种方式:配置端口转发(不推荐) 第三种方式:同一个server中基于location配置(重点讲解) 第一种方式:配置多个二级域名 一个域名下面申请多个二级域名,每个二级域名配置一个vue前端项目,这个很好配置,在这里不再详细说明。 …

第二家公司虽然用PowerBI ,可能更适合用以前的QuickBI

第二家公司虽然用PowerBI ,可能更适合用以前的QuickBI现在回想一下,第二家公司数据源是MySQL ,常规报表是用excel报表,另外还做了一张能发布到web的看板供运营使用。基于基本情况,quickbi 的早期版本是合适的&#xff…

STM32 USBx Device HID standalone 移植示例 LAT1466

关键字:USBx, Device, HID,standalone 1.设计目的 目前 USBx Device standalone 的官方示例较少,不过使用 STM32CubeMX 可以快速地生成 USBx Device 相关类的示例工程,会很方便大家的开发。这里以 NUCLEO-H563 为例&…

python创建并写入excel文件

大家好,这里是七七,今天来跟大家分享一个python创建并写入一个excel文件的小例子,话不多说,开始介绍。首先我们来看一下这一小段代码。import openpyxl# 创建一个新的 Excel 工作簿workbook openpyxl.Workbook()# 获取当前活动的…

react native 出现 FATAL EXCEPTION: OkHttp Dispatcher

react native 出现 FATAL EXCEPTION: OkHttp Dispatcher 报错信息FATAL EXCEPTION: OkHttp DispatcherProcess: , PID: 8868java.lang.NoSuchMethodError: No virtual method toString(Z)Ljava/lang/String; in class Lokhttp3/Cookie; or its super classes (declaration of o…

sentinel实现控制台与nacos数据双向绑定

有两种方式可以实现&#xff1a;Springboot客户端做相应配置&#xff08;推荐&#xff09;修改sentinel-dashboard的源码一、Springboot客户端做相应配置&#xff08;推荐&#xff09;1、添加依赖<dependency><groupId>com.alibaba.csp</groupId><artifac…

Kubernetes (k8s)

Kubernetes (k8s) 以下是一份 ​Kubernetes (k8s) 基础使用教程&#xff0c;涵盖从环境搭建到核心操作的完整流程&#xff0c;附详细命令和示例&#xff1a; &#x1f680; ​一、环境准备&#xff08;3种方式&#xff09;​​ ​1. 本地开发环境&#xff08;推荐&#xff09;​…

三打ANSYS HFSS

2. 激励方式&#xff08;端口&#xff09;详细对比分析在HFSS中&#xff0c;“激励方式”和“端口”这两个词经常混用&#xff0c;但严格来说&#xff0c;“端口”是实现“激励”的一种最主要的方式。端口类型工作原理适用情况优点缺点波端口 (Wave Port)默认首选。计算端口的固…

3.python——数据类型转换

python的数据类型转换分为两种&#xff1a; 隐式转换&#xff1a;自动完成 显式转换&#xff1a;用类型函数转换 隐式转换 # 自动转为浮点数 num_int 123 num_flo 1.23num_new num_int num_flo显式转换 整型 x int(1) # x 输出结果为 1 y int(2.8) # y 输出结果为 2 z …

迅为RK3568开发板OpenHarmonyv3.2-Beta4版本测试-命令终端

将串口连接到开发板的调试串口&#xff0c;进入 OpenHarmony 系统后&#xff0c;会自动进入 OpenHarmony终端&#xff0c;如下图所示&#xff1a;

【面试题】介绍一下BERT和GPT的训练方式区别?

BERT(双向编码器): 预训练任务: 掩码语言模型(MLM):随机掩盖15%的token,其中: 80%替换为[MASK] 10%替换为随机token 10%保持原样 下一句预测(NSP):判断两个句子是否连续(后续版本已移除) 训练特点: 使用双向Transformer编码器 同时利用左右上下文信息 适合理解类任…

邪修实战系列(1)

1、第一阶段邪修实战总览&#xff08;9.1-9.30&#xff09; 把第一阶段&#xff08;基础夯实期&#xff09;的学习计划拆解成极具操作性的每日行动方案。这个计划充分利用我“在职学习”的特殊优势&#xff0c;强调“用输出倒逼输入”&#xff0c;确保每一分钟的学习都直接服务…

XR数字融合工作站打造智能制造专业学习新范式

智能制造是工业4.0的核心发展方向&#xff0c;涵盖数字化设计、智能生产、工业机器人、数字孪生、物联网等关键技术。然而&#xff0c;传统教学模式在设备成本高、实训风险大、抽象概念难理解等方面存在诸多挑战。XR数字融合工作站,利用VR/AR/MR等技术&#xff0c;通过虚拟仿真…

基于FPGA实现数字QAM调制系统

基于FPGA实现数字QAM调制系统题目要求一、代码设计1.顶层2.分频3.m序列4.串转并5.映射6.正弦波余弦波生成ROM和7.ask二、仿真波形总结题目要求 FPGA实现数字QAM调制系统要求根据正交振幅调制原理&#xff0c;利用正弦载波信号发生器&#xff0c;实现调制信号。调制原理会利用到…