Class DefaultJobLeaderIdService
- java.lang.Object
-
- org.apache.flink.runtime.resourcemanager.DefaultJobLeaderIdService
-
- All Implemented Interfaces:
JobLeaderIdService
public class DefaultJobLeaderIdService extends Object implements JobLeaderIdService
Service which retrieves for a registered job the current job leader id (the leader id of the job manager responsible for the job). The leader id will be exposed as a future via thegetLeaderId(JobID)
. The future will only be completed with an exception in case the service will be stopped.
-
-
Constructor Summary
Constructors Constructor Description DefaultJobLeaderIdService(HighAvailabilityServices highAvailabilityServices, ScheduledExecutor scheduledExecutor, Duration jobTimeout)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addJob(JobID jobId)
Add a job to be monitored to retrieve the job leader id.void
clear()
Stop and clear the currently registered job leader id listeners.boolean
containsJob(JobID jobId)
Check whether the given job is being monitored or not.CompletableFuture<JobMasterId>
getLeaderId(JobID jobId)
Get the leader'sJobMasterId
future for the given job.boolean
isStarted()
Checks whether the service has been started.boolean
isValidTimeout(JobID jobId, UUID timeoutId)
Checks whether the given timeoutId for the given jobId is valid or not.void
removeJob(JobID jobId)
Remove the given job from being monitored by the service.void
start(JobLeaderIdActions initialJobLeaderIdActions)
Start the service with the given job leader actions.void
stop()
Stop the service.
-
-
-
Constructor Detail
-
DefaultJobLeaderIdService
public DefaultJobLeaderIdService(HighAvailabilityServices highAvailabilityServices, ScheduledExecutor scheduledExecutor, Duration jobTimeout)
-
-
Method Detail
-
start
public void start(JobLeaderIdActions initialJobLeaderIdActions) throws Exception
Description copied from interface:JobLeaderIdService
Start the service with the given job leader actions.- Specified by:
start
in interfaceJobLeaderIdService
- Parameters:
initialJobLeaderIdActions
- to use for job leader id actions- Throws:
Exception
- which is thrown when clearing up old state
-
stop
public void stop() throws Exception
Description copied from interface:JobLeaderIdService
Stop the service.- Specified by:
stop
in interfaceJobLeaderIdService
- Throws:
Exception
- which is thrown in case a retrieval service cannot be stopped properly
-
isStarted
public boolean isStarted()
Checks whether the service has been started.- Returns:
- True if the service has been started; otherwise false
-
clear
public void clear() throws Exception
Description copied from interface:JobLeaderIdService
Stop and clear the currently registered job leader id listeners.- Specified by:
clear
in interfaceJobLeaderIdService
- Throws:
Exception
- which is thrown in case a retrieval service cannot be stopped properly
-
addJob
public void addJob(JobID jobId) throws Exception
Description copied from interface:JobLeaderIdService
Add a job to be monitored to retrieve the job leader id.- Specified by:
addJob
in interfaceJobLeaderIdService
- Parameters:
jobId
- identifying the job to monitor- Throws:
Exception
- if the job could not be added to the service
-
removeJob
public void removeJob(JobID jobId) throws Exception
Description copied from interface:JobLeaderIdService
Remove the given job from being monitored by the service.- Specified by:
removeJob
in interfaceJobLeaderIdService
- Parameters:
jobId
- identifying the job to remove from monitor- Throws:
Exception
- if removing the job fails
-
containsJob
public boolean containsJob(JobID jobId)
Description copied from interface:JobLeaderIdService
Check whether the given job is being monitored or not.- Specified by:
containsJob
in interfaceJobLeaderIdService
- Parameters:
jobId
- identifying the job- Returns:
- True if the job is being monitored; otherwise false
-
getLeaderId
public CompletableFuture<JobMasterId> getLeaderId(JobID jobId) throws Exception
Description copied from interface:JobLeaderIdService
Get the leader'sJobMasterId
future for the given job.- Specified by:
getLeaderId
in interfaceJobLeaderIdService
- Parameters:
jobId
- jobId specifying for which job to retrieve theJobMasterId
- Returns:
- Future with the current leader's
JobMasterId
- Throws:
Exception
- if retrieving theJobMasterId
cannot be started
-
isValidTimeout
public boolean isValidTimeout(JobID jobId, UUID timeoutId)
Description copied from interface:JobLeaderIdService
Checks whether the given timeoutId for the given jobId is valid or not.- Specified by:
isValidTimeout
in interfaceJobLeaderIdService
- Parameters:
jobId
- jobId identifying the job for which the timeout should be checkedtimeoutId
- timeoutId specifying the timeout which should be checked for its validity- Returns:
true
if the timeout is valid; otherwisefalse
-
-