扫码阅读
手机扫码阅读

数据库|Pump日志出现错误,你的数据被清空了吗?

201 2024-03-14

摘要

本文分享了作者在使用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处理速度慢的问题。建议更改错误日志的级别和描述,以避免误解。

文章最后,作者推广了神州数码云基地编程大法的原创技术内容,并邀请读者关注。

想要了解更多,点击 查看原文