开发者社区> 问答> 正文

开启了增量checkpoint,同时checkpoint的个数设置为只保留2个

hi,请教大家一个问题,开启了增量checkpoint,同时checkpoint的个数设置为只保留2个,那么如果当前是第三次checkpoint 仍然依赖第一次的checkpoint会出现什么情况,会把第一次的copy过来到本次中吗?如过第一次不删除,不是会不满足保留2个的限制吗

*来自志愿者整理的flink邮件归档

展开
收起
游客sadna6pkvqnz6 2021-12-07 17:08:31 716 0
1 条回答
写回答
取消 提交回答
  • 增量checkpoint与web界面的信息其实没有直接联系,增量checkpoint的信息记录由CheckpointCoordinator中的SharedStateRegistry[1] 进行计数管理,而保留多少checkpoint则由 CheckpointStore管理 [2]. 保留2个checkpoint的执行过程如下: chk-1 completed --> register chk-1 in state registry --> add to checkpoint store chk-2 completed --> register chk-2 in state registry --> add to checkpoint store chk-3 completed --> register chk-3 in state registry --> add to checkpoint store --> chk-1 subsumed --> unregister chk-1 in state registry --> discard state with reference=0 chk-4 completed --> register chk-4 in state registry --> add to checkpoint store --> chk-2 subsumed --> unregister chk-2 in state registry --> discard state with reference=0

    从上面可以看懂整个执行流程,所以当chk-3 仍然有部分数据依赖chk-1时,那些state数据在unregister时,其计数统计并不会降为0,也就不会删掉,也不需要copy到本次中。

    [1] https://github.com/apache/flink/blob/f8ce30a50b8dd803d4476ea5d83e7d48708d54fa/flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointCoordinator.java#L192 [2] https://github.com/apache/flink/blob/f8ce30a50b8dd803d4476ea5d83e7d48708d54fa/flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/StandaloneCompletedCheckpointStore.java#L41*来自志愿者整理的flink

    2021-12-07 20:37:45
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
俞航翔|基于Log的通用增量Checkpoint 立即下载
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
低代码开发师(初级)实战教程 立即下载