[ 
https://issues.apache.org/jira/browse/FLINK-20427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17241465#comment-17241465
 ] 

Nico Kruber commented on FLINK-20427:
-------------------------------------

I'm not sure we should touch this before the rework of the checkpoint/savepoint 
semantics - if this is still planned, I am talking about not having checkpoints 
vs. savepoints but rather snapshots with certain properties. In that case, we 
could have user-triggered snapshots with statebackend-native format and then I 
don't see any downside of using these for recovery just like using 
checkpoints-only now.
>From what we learned, RocksDB-recovery from a savepoint can actually take a 
>considerable amount of time and especially in at-least-once sink use cases 
>with low latency requirements, this could be a problem!

> Remove CheckpointConfig.setPreferCheckpointForRecovery because it can lead to 
> data loss
> ---------------------------------------------------------------------------------------
>
>                 Key: FLINK-20427
>                 URL: https://issues.apache.org/jira/browse/FLINK-20427
>             Project: Flink
>          Issue Type: Bug
>          Components: API / DataStream, Runtime / Checkpointing
>    Affects Versions: 1.12.0
>            Reporter: Till Rohrmann
>            Priority: Critical
>             Fix For: 1.13.0
>
>
> The {{CheckpointConfig.setPreferCheckpointForRecovery}} allows to configure 
> whether Flink prefers checkpoints for recovery if the 
> {{CompletedCheckpointStore}} contains savepoints and checkpoints. This is 
> problematic because due to this feature, Flink might prefer older checkpoints 
> over newer savepoints for recovery. Since some components expect that the 
> always the latest checkpoint/savepoint is used (e.g. the 
> {{SourceCoordinator}}), it breaks assumptions and can lead to 
> {{SourceSplits}} which are not read. This effectively means that the system 
> loses data. Similarly, this behaviour can cause that exactly once sinks might 
> output results multiple times which violates the processing guarantees. 
> Hence, I believe that we should remove this setting because it changes 
> Flink's behaviour in some very significant way potentially w/o the user 
> noticing.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to