Class StateRequestHandlers
StateRequestHandler
s.
TODO: Add a variant which works on ByteString
s to remove encoding/decoding overhead.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
A handler for bag user state.static interface
A factory which constructsStateRequestHandlers.BagUserStateHandler
s.static interface
A handler for iterable side inputs.static interface
A handler for multimap side inputs.static interface
Marker interface that denotes some type of side input handler.static interface
A factory which constructsStateRequestHandlers.MultimapSideInputHandler
s. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StateRequestHandler
delegateBasedUponType
(EnumMap<org.apache.beam.model.fnexecution.v1.BeamFnApi.StateKey.TypeCase, StateRequestHandler> handlers) Returns aStateRequestHandler
which delegates to the supplied handler depending on theBeamFnApi.StateRequest
stype
.static StateRequestHandler
forBagUserStateHandlerFactory
(ProcessBundleDescriptors.ExecutableProcessBundleDescriptor processBundleDescriptor, StateRequestHandlers.BagUserStateHandlerFactory bagUserStateHandlerFactory) Returns an adapter which converts aStateRequestHandlers.BagUserStateHandlerFactory
to aStateRequestHandler
.static StateRequestHandler
forSideInputHandlerFactory
(Map<String, Map<String, ProcessBundleDescriptors.SideInputSpec>> sideInputSpecs, StateRequestHandlers.SideInputHandlerFactory sideInputHandlerFactory) Returns an adapter which converts aStateRequestHandlers.SideInputHandlerFactory
to aStateRequestHandler
.
-
Constructor Details
-
StateRequestHandlers
public StateRequestHandlers()
-
-
Method Details
-
delegateBasedUponType
public static StateRequestHandler delegateBasedUponType(EnumMap<org.apache.beam.model.fnexecution.v1.BeamFnApi.StateKey.TypeCase, StateRequestHandler> handlers) Returns aStateRequestHandler
which delegates to the supplied handler depending on theBeamFnApi.StateRequest
stype
.An exception is thrown if a corresponding handler is not found.
-
forSideInputHandlerFactory
public static StateRequestHandler forSideInputHandlerFactory(Map<String, Map<String, ProcessBundleDescriptors.SideInputSpec>> sideInputSpecs, StateRequestHandlers.SideInputHandlerFactory sideInputHandlerFactory) Returns an adapter which converts aStateRequestHandlers.SideInputHandlerFactory
to aStateRequestHandler
.The
StateRequestHandlers.SideInputHandlerFactory
is required to handle all side inputs contained within theProcessBundleDescriptors.ExecutableProcessBundleDescriptor
. SeeProcessBundleDescriptors.ExecutableProcessBundleDescriptor.getSideInputSpecs()
for the set of side inputs that are contained.Instances of
StateRequestHandlers.MultimapSideInputHandler
s returned by theStateRequestHandlers.SideInputHandlerFactory
are cached. -
forBagUserStateHandlerFactory
public static StateRequestHandler forBagUserStateHandlerFactory(ProcessBundleDescriptors.ExecutableProcessBundleDescriptor processBundleDescriptor, StateRequestHandlers.BagUserStateHandlerFactory bagUserStateHandlerFactory) Returns an adapter which converts aStateRequestHandlers.BagUserStateHandlerFactory
to aStateRequestHandler
.The
StateRequestHandlers.SideInputHandlerFactory
is required to handle all multimap side inputs contained within theProcessBundleDescriptors.ExecutableProcessBundleDescriptor
. SeeProcessBundleDescriptors.ExecutableProcessBundleDescriptor.getSideInputSpecs()
for the set of multimap side inputs that are contained.Instances of
StateRequestHandlers.MultimapSideInputHandler
s returned by theStateRequestHandlers.SideInputHandlerFactory
are cached.In case of any failures, this handler must be discarded. Otherwise, the contained state cache token would be reused which would corrupt the state cache.
-