第一篇是发现了问题,这一篇发现了更多有意思的现象。

场景

当我实时观察偏移量的时候(想看什么时候能追上),发现我记录的offset竟然由大变小了,我以为自己看错了,但一段时间后,又复现了!紧张感顿生,大bug?

问题

为什么offset会变小,感觉是循环解析mysql-bin.010672

发现之路

感觉是个大bug,

验证之路

#171205 16:06:59 server id 2012  end_log_pos 4294934461 CRC32 0x29e814c4     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 4294942639 CRC32 0xc85227c4     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 4294952475 CRC32 0x4bf1a443     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 4294963179 CRC32 0xe3263ec6     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 5775 CRC32 0x0b2c2d31     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 15731 CRC32 0x8d92b8e3     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 25781 CRC32 0x043bc145     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 28567 CRC32 0x7c9e0674     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 39917 CRC32 0xcb431e05     Update_rows: table id 111580
#171205 16:06:59 server id 2012  end_log_pos 49975 CRC32 0x92c1a163     Update_rows: table id 111580

问题确认! mysql写入的offset确实是被截断了

我看到的所谓循环,其实不是循环,只是offset确实变小了。

影响

这个问题本身这次并没有对业务产生影响,这次主要问题是延迟。但这个问题本身很重要。