dawidwys commented on a change in pull request #18086:
URL: https://github.com/apache/flink/pull/18086#discussion_r768532544



##########
File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/state/StateBackend.java
##########
@@ -172,4 +174,19 @@ OperatorStateBackend createOperatorStateBackend(
     default boolean useManagedMemory() {
         return false;
     }
+
+    /**
+     * Tells if a state backend supports taking forced full snapshots. Forced 
full snapshots are
+     * snapshots that do not share files with previous snapshots. The feature 
is necessary to
+     * properly support {@link RestoreMode#NO_CLAIM} mode.
+     *
+     * <p>If a state backend supports forced full snapshots, it should create 
an independent
+     * snapshot when it receives {@link 
CheckpointOptions#isForcedFullSnapshot()} request in {@link
+     * Snapshotable#snapshot(long, long, CheckpointStreamFactory, 
CheckpointOptions)}.
+     *
+     * @return If the state backend supports taking forced full snapshots.
+     */
+    default boolean supportsForcedFullSnapshot() {

Review comment:
       I am not strong on that naming. I don't like the 
`supportsForceReupload`, imo it describes it even worse. Any other ideas?
   
   As for the `checkpointId`, what would it mean in that context? The purpose 
of this method is to add a feature flag to a state backend. We either do or we 
do not support the feature. Not sure how `checkpointID` can be helpful in here. 
   
   Theoretically speaking the flag my arrive at any point in time. I don't 
think it would work nicely to fail e.g. after n checkpoints safely taken.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to