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