这个问题我之前也看过代码,我也很好奇,
drainer 如果下游的消费对象是file的话,跟新savepoint 文件里面的commit tso的逻辑为
如果有ddl,则会立刻更新savepoint 文件,如果存在fake binlog或者dml binlog,那就超过间隔3秒就会更新(你可以看下,在集群没有数据写入情况下,savepoint 文件距离上一次更新超过3秒就会继续跟新)
,所以我也是有点好奇,为什么commit tso 会不更新
这个后续如果有时间了,我也会继续研究下
现在怀疑1.drianer 所在的机器是不是有一定的压力,内存或者cpu高什么的