大家好,我现在有个任务,状态比较大,使用的增量的 Checkpoint,Flink 1.6 版本,默认的 Checkpoint 保留数为1, 我看了一下源码,发现当完成的 Checkpoint 数大于 state.checkpoints.num-retained的数值时,会对之前的完成的 Checkpoint 状态做清理。
当时我早上八点40多任务 Checkpoint 成功,当时的 chk-id 为 94040,然后到下午15点之间,Checkpoint都是超时失败的,然后15点容错恢复,从 chk-94040 恢复(八点40的状态),最新的 chk-id 为 94080。94080,94081,94082都是成功的,后面接着任务 Checkpoint 超时失败。 但此时 早上八点40多的任务的状态(也就是94040)还是没有清理,但是 state.checkpoints.num-retained又为1,完成的 Checkpoint 数大于1,所以我的理解,应该会清理掉 94040(早上八点40的状态),但是实际没有清理,状态文件还在 HDFS 上面。这是为什么呢,难道说状态容错恢复,不会清理之前的状态吗? 希望有大佬能帮我解惑,非常感谢
