Re: 增量che ckpoint
Hi 分享一篇讲解增量 checkpoint 的文章[1] [1] https://ververica.cn/developers/manage-large-state-incremental-checkpoint/ Best, Congxian Yun Tang 于2020年8月21日周五 上午12:09写道: > Hi > > 增量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 > > 祝好 > 唐云 > > > ____________ > From: 赵一旦 > Sent: Thursday, August 20, 2020 10:50 > To: user-zh@flink.apache.org > Subject: Re: 增量che ckpoint > > 等其他人正解。下面是我的猜测: > 保留2个检查点是web界面保留2个检查点,增量情况下,这2个检查点所有引用到的所有历史检查点肯定都不会被删除。 > 因此第3个检查点的时候,只有2,3检查点仍然引用了1,则1就不会被删除。 > > superainbower 于2020年8月20日周四 上午10:46写道: > > > hi,请教大家一个问题,开启了增量checkpoint,同时checkpoint的个数设置为只保留2个,那么如果当前是第三次checkpoint > > 仍然依赖第一次的checkpoint会出现什么情况,会把第一次的copy过来到本次中吗?如过第一次不删除,不是会不满足保留2个的限制吗 >
Re: 增量che ckpoint
Hi 增量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 祝好 唐云 From: 赵一旦 Sent: Thursday, August 20, 2020 10:50 To: user-zh@flink.apache.org Subject: Re: 增量che ckpoint 等其他人正解。下面是我的猜测: 保留2个检查点是web界面保留2个检查点,增量情况下,这2个检查点所有引用到的所有历史检查点肯定都不会被删除。 因此第3个检查点的时候,只有2,3检查点仍然引用了1,则1就不会被删除。 superainbower 于2020年8月20日周四 上午10:46写道: > hi,请教大家一个问题,开启了增量checkpoint,同时checkpoint的个数设置为只保留2个,那么如果当前是第三次checkpoint > 仍然依赖第一次的checkpoint会出现什么情况,会把第一次的copy过来到本次中吗?如过第一次不删除,不是会不满足保留2个的限制吗
Re: 增量che ckpoint
等其他人正解。下面是我的猜测: 保留2个检查点是web界面保留2个检查点,增量情况下,这2个检查点所有引用到的所有历史检查点肯定都不会被删除。 因此第3个检查点的时候,只有2,3检查点仍然引用了1,则1就不会被删除。 superainbower 于2020年8月20日周四 上午10:46写道: > hi,请教大家一个问题,开启了增量checkpoint,同时checkpoint的个数设置为只保留2个,那么如果当前是第三次checkpoint > 仍然依赖第一次的checkpoint会出现什么情况,会把第一次的copy过来到本次中吗?如过第一次不删除,不是会不满足保留2个的限制吗
增量che ckpoint
hi,请教大家一个问题,开启了增量checkpoint,同时checkpoint的个数设置为只保留2个,那么如果当前是第三次checkpoint 仍然依赖第一次的checkpoint会出现什么情况,会把第一次的copy过来到本次中吗?如过第一次不删除,不是会不满足保留2个的限制吗