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 TypeMethodDescriptionvoid
close()
Closes this bundle.getId()
Get an id used to represent this bundle.Get a map of PCollection ids toreceiver
s 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) toreceiver
s which consume timers, forwarding them to the remote environment.void
Ask the remote bundle for progress.void
split
(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 toreceiver
s 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) toreceiver
s 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 inputFnDataReceiver
to be closed (future calls to thatFnDataReceiver
will throw an exception), and causes theRemoteBundle
to 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:
close
in interfaceAutoCloseable
- Throws:
Exception
-