Interface RemoteBundle
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
SdkHarnessClient.BundleProcessor.ActiveBundle
bundle descriptor by
forwarding them to a remote environment for processing.
When a RemoteBundle is closed, it will block until bundle processing is finished on remote resources, and throw an exception if bundle processing has failed.
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this bundle.getId()Get an id used to represent this bundle.Get a map of PCollection ids toreceivers which consume input elements, forwarding them to the remote environment.Map<KV<String, String>, FnDataReceiver<org.apache.beam.sdk.util.construction.Timer>> Get a map of (transform id, timer id) toreceivers which consume timers, forwarding them to the remote environment.voidAsk the remote bundle for progress.voidsplit(double fractionOfRemainder) Ask the remote bundle to split its current processing based upon its knowledge of remaining work.
-
Method Details
-
getId
String getId()Get an id used to represent this bundle. -
getInputReceivers
Map<String,FnDataReceiver> getInputReceivers()Get a map of PCollection ids toreceivers which consume input elements, forwarding them to the remote environment. -
getTimerReceivers
Map<KV<String,String>, getTimerReceivers()FnDataReceiver<org.apache.beam.sdk.util.construction.Timer>> Get a map of (transform id, timer id) toreceivers which consume timers, forwarding them to the remote environment. -
requestProgress
void requestProgress()Ask the remote bundle for progress.This method is a no-op if the bundle is complete otherwise it will return after the request has been issued. Any progress reports will be forwarded to the
BundleProgressHandler.All
BundleProgressHandler.onProgress(org.apache.beam.model.fnexecution.v1.BeamFnApi.ProcessBundleProgressResponse)calls are guaranteed to be called before anyBundleProgressHandler.onCompleted(org.apache.beam.model.fnexecution.v1.BeamFnApi.ProcessBundleResponse). -
split
void split(double fractionOfRemainder) Ask the remote bundle to split its current processing based upon its knowledge of remaining work. A fraction of 0, is equivalent to asking the SDK to checkpoint.This method is a no-op if the bundle is complete otherwise it will return after the request has been issued. Any splits will be forwarded to the
BundleSplitHandler.All
BundleSplitHandler.split(org.apache.beam.model.fnexecution.v1.BeamFnApi.ProcessBundleSplitResponse)calls are guaranteed to be called before anyBundleCheckpointHandler.onCheckpoint(org.apache.beam.model.fnexecution.v1.BeamFnApi.ProcessBundleResponse). -
close
Closes this bundle. This causes the inputFnDataReceiverto be closed (future calls to thatFnDataReceiverwill throw an exception), and causes theRemoteBundleto produce any buffered outputs. The call toclose()will block until all of the outputs produced by this bundle have been received and all outstanding progress and split requests have been handled.- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-