Class AbstractReducingState<K,N,V>

java.lang.Object
org.apache.flink.runtime.state.v2.AbstractKeyedState<K,N,V>
org.apache.flink.runtime.state.v2.AbstractReducingState<K,N,V>
Type Parameters:
K - The type of key the state is associated to.
V - The type of values kept internally in state.
All Implemented Interfaces:
org.apache.flink.api.common.state.v2.AggregatingState<V,V>, org.apache.flink.api.common.state.v2.AppendingState<V,V,V>, org.apache.flink.api.common.state.v2.MergingState<V,V,V>, org.apache.flink.api.common.state.v2.ReducingState<V>, org.apache.flink.api.common.state.v2.State, InternalAggregatingState<K,N,V,V,V>, InternalAppendingState<K,N,V,V,V,V>, InternalKeyedState<K,N,V>, InternalMergingState<K,N,V,V,V,V>, InternalPartitionedState<N>, InternalReducingState<K,N,V>, InternalStateAccessible<V>

public class AbstractReducingState<K,N,V> extends AbstractKeyedState<K,N,V> implements InternalReducingState<K,N,V>
A default implementation of ReducingState which delegates all async requests to StateRequestHandler.
  • Field Details

    • reduceFunction

      protected final org.apache.flink.api.common.functions.ReduceFunction<V> reduceFunction
  • Constructor Details

    • AbstractReducingState

      public AbstractReducingState(StateRequestHandler stateRequestHandler, org.apache.flink.api.common.state.v2.ReducingStateDescriptor<V> stateDescriptor)
  • Method Details

    • asyncGet

      public org.apache.flink.api.common.state.v2.StateFuture<V> asyncGet()
      Specified by:
      asyncGet in interface org.apache.flink.api.common.state.v2.AppendingState<K,N,V>
    • asyncAdd

      public org.apache.flink.api.common.state.v2.StateFuture<Void> asyncAdd(V value)
      Specified by:
      asyncAdd in interface org.apache.flink.api.common.state.v2.AppendingState<K,N,V>
    • get

      public V get()
      Specified by:
      get in interface org.apache.flink.api.common.state.v2.AppendingState<K,N,V>
    • add

      public void add(V value)
      Specified by:
      add in interface org.apache.flink.api.common.state.v2.AppendingState<K,N,V>
    • asyncMergeNamespaces

      public org.apache.flink.api.common.state.v2.StateFuture<Void> asyncMergeNamespaces(N target, Collection<N> sources)
      Description copied from interface: InternalMergingState
      Merges the state of the current key for the given source namespaces into the state of the target namespace.
      Specified by:
      asyncMergeNamespaces in interface InternalMergingState<K,N,V,V,V,V>
      Parameters:
      target - The target namespace where the merged state should be stored.
      sources - The source namespaces whose state should be merged.
    • mergeNamespaces

      public void mergeNamespaces(N target, Collection<N> sources)
      Description copied from interface: InternalMergingState
      Merges the state of the current key for the given source namespaces into the state of the target namespace.
      Specified by:
      mergeNamespaces in interface InternalMergingState<K,N,V,V,V,V>
      Parameters:
      target - The target namespace where the merged state should be stored.
      sources - The source namespaces whose state should be merged.
    • asyncGetInternal

      public org.apache.flink.api.common.state.v2.StateFuture<V> asyncGetInternal()
      Description copied from interface: InternalStateAccessible
      Get internally stored value.
      Specified by:
      asyncGetInternal in interface InternalStateAccessible<K>
      Returns:
      internally stored value.
    • asyncUpdateInternal

      public org.apache.flink.api.common.state.v2.StateFuture<Void> asyncUpdateInternal(V valueToStore)
      Description copied from interface: InternalStateAccessible
      Update internally stored value.
      Specified by:
      asyncUpdateInternal in interface InternalStateAccessible<K>
      Parameters:
      valueToStore - new value to store.
    • getInternal

      public V getInternal()
      Description copied from interface: InternalStateAccessible
      Get internally stored value.
      Specified by:
      getInternal in interface InternalStateAccessible<K>
      Returns:
      internally stored value.
    • updateInternal

      public void updateInternal(V valueToStore)
      Description copied from interface: InternalStateAccessible
      Update internally stored value.
      Specified by:
      updateInternal in interface InternalStateAccessible<K>
      Parameters:
      valueToStore - new value to store.