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



##########
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:
       Hey @rkhachatryan @Myasuka What do you think about this approach? This 
allows us to have a migration path for state backends that do not support 
forced full snapshots yet. We would add support to all built-in state backends, 
but it would work also for external state backends.
   
   WDYT?




-- 
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