Class ContextStateFutureImpl<T>
- java.lang.Object
-
- org.apache.flink.core.state.StateFutureImpl<T>
-
- org.apache.flink.runtime.asyncprocessing.ContextStateFutureImpl<T>
-
- All Implemented Interfaces:
org.apache.flink.api.common.state.v2.StateFuture<T>,org.apache.flink.core.state.InternalStateFuture<T>
public class ContextStateFutureImpl<T> extends org.apache.flink.core.state.StateFutureImpl<T>A state future that holds theRecordContextand maintains the reference count of it. The reason why we maintain the reference here is that the ContextStateFutureImpl can be created multiple times since user may chain their code wildly, some of which are only for internal usage (SeeStateFutureImpl). So maintaining reference counting by the lifecycle of state future is relatively simple and less error-prone.Reference counting added on
RecordContextfollows:- 1. +1 when this future created.
- 2. -1 when future completed.
- 3. +1 when callback registered.
- 4. -1 when callback finished.
- Please refer to
ContextStateFutureImplTestwhere the reference counting is carefully tested.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcallbackFinished()voidcallbackRegistered()<A> org.apache.flink.core.state.StateFutureImpl<A>makeNewStateFuture()voidpostComplete(boolean inCallbackRunner)-
Methods inherited from class org.apache.flink.core.state.StateFutureImpl
complete, completeExceptionally, get, isDone, thenAccept, thenApply, thenCombine, thenCompose, thenConditionallyAccept, thenConditionallyAccept, thenConditionallyApply, thenConditionallyApply, thenConditionallyCompose, thenConditionallyCompose, thenSyncAccept
-
-
-
-
Method Detail
-
makeNewStateFuture
public <A> org.apache.flink.core.state.StateFutureImpl<A> makeNewStateFuture()
- Overrides:
makeNewStateFuturein classorg.apache.flink.core.state.StateFutureImpl<T>
-
callbackRegistered
public void callbackRegistered()
- Overrides:
callbackRegisteredin classorg.apache.flink.core.state.StateFutureImpl<T>
-
postComplete
public void postComplete(boolean inCallbackRunner)
- Overrides:
postCompletein classorg.apache.flink.core.state.StateFutureImpl<T>
-
callbackFinished
public void callbackFinished()
- Overrides:
callbackFinishedin classorg.apache.flink.core.state.StateFutureImpl<T>
-
-