Class OnMainThreadJobManagerRunnerRegistry
- java.lang.Object
-
- org.apache.flink.runtime.dispatcher.OnMainThreadJobManagerRunnerRegistry
-
- All Implemented Interfaces:
LocallyCleanableResource
,JobManagerRunnerRegistry
,org.apache.flink.util.WrappingProxy<JobManagerRunnerRegistry>
public class OnMainThreadJobManagerRunnerRegistry extends Object implements JobManagerRunnerRegistry, org.apache.flink.util.WrappingProxy<JobManagerRunnerRegistry>
OnMainThreadJobManagerRunnerRegistry
implementsJobManagerRunnerRegistry
guarding the passedJobManagerRunnerRegistry
instance in a way that it only allows modifying methods to be executed on the component's main thread.- See Also:
ComponentMainThreadExecutor
-
-
Constructor Summary
Constructors Constructor Description OnMainThreadJobManagerRunnerRegistry(JobManagerRunnerRegistry delegate, org.apache.flink.runtime.concurrent.ComponentMainThreadExecutor mainThreadExecutor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JobManagerRunner
get(org.apache.flink.api.common.JobID jobId)
Returns theJobManagerRunner
for the givenJobID
.Collection<JobManagerRunner>
getJobManagerRunners()
Returns the registeredJobManagerRunner
instances.Set<org.apache.flink.api.common.JobID>
getRunningJobIds()
ReturnsJobID
instances of registeredJobManagerRunner
instances.JobManagerRunnerRegistry
getWrappedDelegate()
Returns the delegatedJobManagerRunnerRegistry
.boolean
isRegistered(org.apache.flink.api.common.JobID jobId)
Checks whether aJobManagerRunner
is registered under the givenJobID
.CompletableFuture<Void>
localCleanupAsync(org.apache.flink.api.common.JobID jobId, Executor executor)
localCleanupAsync
is expected to be called from the main thread.void
register(JobManagerRunner jobManagerRunner)
Registers the givenJobManagerRunner
instance.int
size()
Returns the number ofJobManagerRunner
instances currently being registered.JobManagerRunner
unregister(org.apache.flink.api.common.JobID jobId)
Unregistered theJobManagerRunner
with the givenJobID
.
-
-
-
Constructor Detail
-
OnMainThreadJobManagerRunnerRegistry
public OnMainThreadJobManagerRunnerRegistry(JobManagerRunnerRegistry delegate, org.apache.flink.runtime.concurrent.ComponentMainThreadExecutor mainThreadExecutor)
-
-
Method Detail
-
isRegistered
public boolean isRegistered(org.apache.flink.api.common.JobID jobId)
Description copied from interface:JobManagerRunnerRegistry
Checks whether aJobManagerRunner
is registered under the givenJobID
.- Specified by:
isRegistered
in interfaceJobManagerRunnerRegistry
- Parameters:
jobId
- TheJobID
to check.- Returns:
true
, if aJobManagerRunner
is registered;false
otherwise.
-
register
public void register(JobManagerRunner jobManagerRunner)
Description copied from interface:JobManagerRunnerRegistry
Registers the givenJobManagerRunner
instance.- Specified by:
register
in interfaceJobManagerRunnerRegistry
-
get
public JobManagerRunner get(org.apache.flink.api.common.JobID jobId)
Description copied from interface:JobManagerRunnerRegistry
Returns theJobManagerRunner
for the givenJobID
.- Specified by:
get
in interfaceJobManagerRunnerRegistry
- See Also:
JobManagerRunnerRegistry.isRegistered(JobID)
-
size
public int size()
Description copied from interface:JobManagerRunnerRegistry
Returns the number ofJobManagerRunner
instances currently being registered.- Specified by:
size
in interfaceJobManagerRunnerRegistry
-
getRunningJobIds
public Set<org.apache.flink.api.common.JobID> getRunningJobIds()
Description copied from interface:JobManagerRunnerRegistry
ReturnsJobID
instances of registeredJobManagerRunner
instances.- Specified by:
getRunningJobIds
in interfaceJobManagerRunnerRegistry
-
getJobManagerRunners
public Collection<JobManagerRunner> getJobManagerRunners()
Description copied from interface:JobManagerRunnerRegistry
Returns the registeredJobManagerRunner
instances.- Specified by:
getJobManagerRunners
in interfaceJobManagerRunnerRegistry
-
localCleanupAsync
public CompletableFuture<Void> localCleanupAsync(org.apache.flink.api.common.JobID jobId, Executor executor)
Description copied from interface:LocallyCleanableResource
localCleanupAsync
is expected to be called from the main thread. Heavy IO tasks should be outsourced into the passedcleanupExecutor
. Thread-safety must be ensured.- Specified by:
localCleanupAsync
in interfaceLocallyCleanableResource
- Parameters:
jobId
- TheJobID
of the job for which the local data should be cleaned up.executor
- The fallback executor for IO-heavy operations.- Returns:
- The cleanup result future.
-
unregister
public JobManagerRunner unregister(org.apache.flink.api.common.JobID jobId)
Description copied from interface:JobManagerRunnerRegistry
Unregistered theJobManagerRunner
with the givenJobID
.null
is returned if there's noJobManagerRunner
registered for the givenJobID
.- Specified by:
unregister
in interfaceJobManagerRunnerRegistry
-
getWrappedDelegate
public JobManagerRunnerRegistry getWrappedDelegate()
Returns the delegatedJobManagerRunnerRegistry
. This method can be used to workaround the main thread safeguard.- Specified by:
getWrappedDelegate
in interfaceorg.apache.flink.util.WrappingProxy<JobManagerRunnerRegistry>
-
-