fredia commented on code in PR #19448:
URL: https://github.com/apache/flink/pull/19448#discussion_r873445202
##########
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:
There are a few details to ask for your opinion:
● should we refactor `SharedStateRegistry` to not limit `StreamStateHandle`
to register(https://issues.apache.org/jira/browse/FLINK-25862) here?
● if yes, how should we deal with the multi-register case? For changelog
states, we would like to avoid `SharedStateRegistry` to discard
multi-registered identical changelog states(
https://issues.apache.org/jira/browse/FLINK-26101), which is different from
other state handles. In other words, we also need a wrapper with a different
#equals method for changelog.
--
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]