扫码阅读
手机扫码阅读
数据库|Pump日志出现错误,你的数据被清空了吗?
![](/theme/default/default/images/main/eye-open.png)
摘要
本文分享了作者在使用TiDB 6.1.5版本时遇到的一个错误日志的排查过程。该日志提示Pump的垃圾回收时间戳(gcTs)与Drainer的检查点时间戳存在时间差,可能导致Drainer无法从Pump读取期望的数据。作者通过检查日志和代码发现了错误日志的原因,并提出了可能的解释。
01 Pump日志错误信息疑问
作者在排查Pump问题时发现了一条错误日志,表明Drainer的检查点比Pump的gcTs旧,可能导致数据丢失。但经过检查,实际上Drainer需要的数据并未丢失。
02 日志初步检查
作者通过分析日志和Pump的垃圾回收机制发现,Pump的gcTs并未涉及到Drainer请求的日志,因此确定错误日志信息不准确。
03 代码逻辑
深入研究代码后,作者发现问题出在gcTs的计算上。实际上,检测Drainer检查点的逻辑错误地将gcTs增加了20小时,从而导致不正确的错误日志。
04 总结
作者认为错误日志的产生可能是历史遗留问题或警示用户Drainer处理速度慢的问题。建议更改错误日志的级别和描述,以避免误解。
文章最后,作者推广了神州数码云基地编程大法的原创技术内容,并邀请读者关注。
想要了解更多,点击
查看原文
神州数码云基地的其他文章
加入社区微信群
与行业大咖零距离交流学习
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
![](https://cdn.easycorp.cn/rongpm/upload/202312/f_39217d624bb2b42ce8f6322ebd7e573a.png)
软件研发质量管理体系建设
白皮书上线