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

现场血案:Kafka CRC 异常

一、背景

现场童鞋说客户的研发环境突然在近期间歇式的收到了CRC的相关异常,异常内容如下

Record batch for partition skywalking-traces-0 at offset 292107075 is invalid, cause: Record is corrupt (stored crc = 1016021496, compute crc = 1981017560)

报错完全没有规律性,有可能半天都不出现一次,也有可能一小时出现2、3次

而这个报错会导致Kafka的Consumer hang死,即无法继续消费后续的消息,只能手动重启Consumer才能继续,是非常严厉的报错,会直接导致生产不可用

另外,我们部署的供内部云平台组建使用的Kafka也会出现这种报错

二、分析

我们另一个客户现场之前也出现过CRC报错:

  • 当前客户现场,问题只会出现一次,如果手动重启Consumer,该问题便会消失,如果换个Consumer来消费,问题也会消失,好像它只是昙花一现,且再也无法复现,如同鬼魅
  • 另一个客户现场,确实会报CRC异常,但稳定复现,只要出现了,不论Consumer重启多少次,也不论多少个Consumer来消费,均是会报CRC异常

这完全不是一个现象了,似乎又陷入了瓶颈

猜测原因:

  • Kafka社区Bug:当前使用的版本是2.8.2,仔细翻阅了2.8版本的版本,都没有发现传输过程crc的bug,似乎从kafka1.0版本后基本上就没有crc相关的bug了
  • 网络问题,如果网络过程中被篡改数据,似乎符合这个场景
  • 机器原因,磁盘部分损坏?这种情况是会出现crc,但是会一直出现,就跟另一个现场的情景一样。也发现如果内存出现问题也会出现crc,但是检查了一圈未发现这个内存问题

似乎该问题大概率是网络问题,当然家里也模拟过客户现场环境,没法复现,因此只能在客户现场先从网络方面排查,还好客户也比较支持这个排除,因此还算顺利。

三、网络排查

3.1、埋点

进行网络排查的话,我们就要执行TCP抓包,即执行tcp

相关文章:

  • Linux补充之vscode连接远端主机
  • 基于 CSS Grid 的网页,拆解页面整体布局结构
  • 创意生图搭配酷炫特效,AIGC直播礼物多元玩法助力平台互动再升级
  • 前端图片自适应全攻略:从基础计算到工程实践
  • 维智定位 Android 定位 SDK
  • 使用 Docker 部署 React + Nginx 应用教程
  • MySQL 数据库优化:InnoDB 存储引擎深度解析:架构、调优与最佳实践
  • 支持蓝牙5.0和2.4G私有协议芯片-PHY6222
  • CSDN-2024《AGP-Net: Adaptive Graph Prior Network for Image Denoising》
  • 移植RTOS,发现任务栈溢出怎么办?
  • VSCode + Cline AI辅助编程完全指南
  • 灌区量测水自动化监测解决方案
  • Go语言实现生产者-消费者问题的多种方法
  • okcc呼叫中心系统搭建的方案方式
  • Linux操作系统--进程间通信(system V共享内存)
  • 【AI学习】AI大模型技术发展研究月报的生成提示词
  • Linux——UDP/TCP协议理论
  • Redis——底层数据结构
  • MySQL 第四讲---基础篇 数据类型
  • SRS流媒体服务器(5)源码分析之RTMP握手
  • 浙江演艺集团7部作品组团来沪,今夏开启首届上海演出季
  • 秦洪看盘|风格有所转变,热钱回流高弹性品种
  • 广西壮族自治区党委副书记、自治区政府主席蓝天立接受审查调查
  • 美国务卿会见叙利亚外长,沙特等国表示将支持叙利亚重建
  • 贵州仁怀通报“正新鸡排鸡腿里全是蛆”:已对同类产品封存送检
  • 打击网络侵权盗版!四部门联合启动“剑网2025”专项行动