public interface JobTable extends AutoCloseable
JobTable'stask is to manage the lifecycle of a job on the
There can always only be at most one job per
JobID. In order to create a
one needs to provide a
JobTable.JobServices instance which is owned by the job.
A job can be connected to a leading JobManager or can be disconnected. In order to establish a
connection, one needs to call
JobTable.Job.connect(org.apache.flink.runtime.clusterframework.types.ResourceID, org.apache.flink.runtime.jobmaster.JobMasterGateway, org.apache.flink.runtime.taskmanager.TaskManagerActions, org.apache.flink.runtime.taskmanager.CheckpointResponder, org.apache.flink.runtime.taskexecutor.GlobalAggregateManager, org.apache.flink.runtime.taskexecutor.PartitionProducerStateChecker). Once a job is connected, the respective
JobTable.Connection can be retrieved via its
JobID or via the
ResourceID of the leader. A
connection can be disconnected via
In order to clean up a
JobTable.Job one first needs to disconnect from the leading JobManager.
In order to completely remove the
JobTable.Job from the
JobTable, one needs to call
JobTable.Job.close() which also closes the associated
|Modifier and Type||Interface and Description|
A connection contains services bound to the lifetime of a connection with a JobManager.
A job contains services which are bound to the lifetime of a Flink job.
Services associated with a job.
|Modifier and Type||Method and Description|
Gets the connection registered under jobId.
Gets the connection registered under resourceId.
Gets the job registered under jobId.
Gets all registered jobs.
Gets a registered
<E extends Exception> JobTable.Job getOrCreateJob(JobID jobId, SupplierWithException<? extends JobTable.JobServices,E> jobServicesSupplier) throws E extends Exception
JobTable.Jobor creates one if not present.
jobId- jobId identifies the job to get
jobServicesSupplier- jobServicesSupplier create new
JobTable.JobServicesif a new job needs to be created
E- if the job services could not be created
E extends Exception
Optional<JobTable.Job> getJob(JobID jobId)
jobId- jobId identifying the job to get
JobTable.Jobregistered under jobId, or an empty
Optionalif no job has been registered
Optional<JobTable.Connection> getConnection(JobID jobId)
jobId- jobId identifying the connection to get
JobTable.Connectionregistered under jobId, or an empty
Optionalif no connection has been registered (this could also mean that a job which has not been connected exists)
Optional<JobTable.Connection> getConnection(ResourceID resourceId)
resourceId- resourceId identifying the connection to get
JobTable.Connectionregistered under resourceId, or an empty
Optionalif no connection has been registered
trueif the job table does not contain any jobs.
trueif the job table does not contain any jobs, otherwise
Copyright © 2014–2023 The Apache Software Foundation. All rights reserved.