Class StateRequestHandlers
StateRequestHandlers.
TODO: Add a variant which works on ByteStrings to remove encoding/decoding overhead.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceA handler for bag user state.static interfaceA factory which constructsStateRequestHandlers.BagUserStateHandlers.static interfaceA handler for iterable side inputs.static interfaceA handler for multimap side inputs.static interfaceMarker interface that denotes some type of side input handler.static interfaceA factory which constructsStateRequestHandlers.MultimapSideInputHandlers. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StateRequestHandlerdelegateBasedUponType(EnumMap<org.apache.beam.model.fnexecution.v1.BeamFnApi.StateKey.TypeCase, StateRequestHandler> handlers) Returns aStateRequestHandlerwhich delegates to the supplied handler depending on theBeamFnApi.StateRequeststype.static StateRequestHandlerforBagUserStateHandlerFactory(ProcessBundleDescriptors.ExecutableProcessBundleDescriptor processBundleDescriptor, StateRequestHandlers.BagUserStateHandlerFactory bagUserStateHandlerFactory) Returns an adapter which converts aStateRequestHandlers.BagUserStateHandlerFactoryto aStateRequestHandler.static StateRequestHandlerforSideInputHandlerFactory(Map<String, Map<String, ProcessBundleDescriptors.SideInputSpec>> sideInputSpecs, StateRequestHandlers.SideInputHandlerFactory sideInputHandlerFactory) Returns an adapter which converts aStateRequestHandlers.SideInputHandlerFactoryto 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 aStateRequestHandlerwhich delegates to the supplied handler depending on theBeamFnApi.StateRequeststype.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.SideInputHandlerFactoryto aStateRequestHandler.The
StateRequestHandlers.SideInputHandlerFactoryis 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.MultimapSideInputHandlers returned by theStateRequestHandlers.SideInputHandlerFactoryare cached. -
forBagUserStateHandlerFactory
public static StateRequestHandler forBagUserStateHandlerFactory(ProcessBundleDescriptors.ExecutableProcessBundleDescriptor processBundleDescriptor, StateRequestHandlers.BagUserStateHandlerFactory bagUserStateHandlerFactory) Returns an adapter which converts aStateRequestHandlers.BagUserStateHandlerFactoryto aStateRequestHandler.The
StateRequestHandlers.SideInputHandlerFactoryis 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.MultimapSideInputHandlers returned by theStateRequestHandlers.SideInputHandlerFactoryare 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.
-