rkhachatryan commented on code in PR #19448:
URL: https://github.com/apache/flink/pull/19448#discussion_r880782026


##########
flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/OperatorSubtaskState.java:
##########
@@ -227,6 +229,14 @@ private static void registerSharedState(
         for (KeyedStateHandle stateHandle : stateHandles) {
             if (stateHandle != null) {
                 stateHandle.registerSharedStates(sharedStateRegistry, 
checkpointID);
+                // Registering state handle to the given sharedStateRegistry 
serves two purposes:
+                // 1. let sharedStateRegistry be responsible for cleaning the 
state handle,
+                // 2. update the status of the checkpoint in 
sharedStateRegistry to which the state
+                // handle belongs
+                sharedStateRegistry.registerReference(
+                        new 
SharedStateRegistryKey(stateHandle.getStateHandleId().getKeyString()),
+                        new StreamStateHandleWrapper(stateHandle),

Review Comment:
   Yes, you're right.
   Does it make sense to use the same `EmptyDiscardStateObjectForRegister` in 
`ChangelogStateBackendHandleImpl`?
   The deletion of private state should happen discarding `CompletedCheckpoint` 
anyways, right?



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