增量che ckpoint

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

增量che ckpoint

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

Re: 增量che ckpoint

nobleyd
等其他人正解。下面是我的猜测:
保留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个的限制吗
Reply | Threaded
Open this post in threaded view
|

Re: 增量che ckpoint

Yun Tang
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个的限制吗
Reply | Threaded
Open this post in threaded view
|

Re: 增量che ckpoint

Congxian Qiu
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个的限制吗
>