Class StateRequestHandlers
- java.lang.Object
-
- org.apache.beam.runners.fnexecution.state.StateRequestHandlers
-
public class StateRequestHandlers extends java.lang.ObjectA set of utility methods which constructStateRequestHandlers.TODO: Add a variant which works on
ByteStrings to remove encoding/decoding overhead.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceStateRequestHandlers.BagUserStateHandler<K,V,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow>A handler for bag user state.static interfaceStateRequestHandlers.BagUserStateHandlerFactory<K,V,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow>A factory which constructsStateRequestHandlers.BagUserStateHandlers.static interfaceStateRequestHandlers.IterableSideInputHandler<V,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow>A handler for iterable side inputs.static interfaceStateRequestHandlers.MultimapSideInputHandler<K,V,W extends org.apache.beam.sdk.transforms.windowing.BoundedWindow>A handler for multimap side inputs.static interfaceStateRequestHandlers.SideInputHandlerMarker interface that denotes some type of side input handler.static interfaceStateRequestHandlers.SideInputHandlerFactoryA factory which constructsStateRequestHandlers.MultimapSideInputHandlers.
-
Constructor Summary
Constructors Constructor Description StateRequestHandlers()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StateRequestHandlerdelegateBasedUponType(java.util.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(java.util.Map<java.lang.String,java.util.Map<java.lang.String,ProcessBundleDescriptors.SideInputSpec>> sideInputSpecs, StateRequestHandlers.SideInputHandlerFactory sideInputHandlerFactory)Returns an adapter which converts aStateRequestHandlers.SideInputHandlerFactoryto aStateRequestHandler.
-
-
-
Method Detail
-
delegateBasedUponType
public static StateRequestHandler delegateBasedUponType(java.util.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(java.util.Map<java.lang.String,java.util.Map<java.lang.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.
-
-