Interface JobLeaderIdService
- All Known Implementing Classes:
DefaultJobLeaderIdService
public interface 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 the
getLeaderId(JobID). The future will only be completed with an exception in case the service
will be stopped.-
Method Summary
Modifier and TypeMethodDescriptionvoidaddJob(org.apache.flink.api.common.JobID jobId) Add a job to be monitored to retrieve the job leader id.voidclear()Stop and clear the currently registered job leader id listeners.booleancontainsJob(org.apache.flink.api.common.JobID jobId) Check whether the given job is being monitored or not.getLeaderId(org.apache.flink.api.common.JobID jobId) Get the leader'sJobMasterIdfuture for the given job.booleanisValidTimeout(org.apache.flink.api.common.JobID jobId, UUID timeoutId) Checks whether the given timeoutId for the given jobId is valid or not.voidremoveJob(org.apache.flink.api.common.JobID jobId) Remove the given job from being monitored by the service.voidstart(JobLeaderIdActions initialJobLeaderIdActions) Start the service with the given job leader actions.voidstop()Stop the service.
-
Method Details
-
start
Start the service with the given job leader actions.- Parameters:
initialJobLeaderIdActions- to use for job leader id actions- Throws:
Exception- which is thrown when clearing up old state
-
stop
Stop the service.- Throws:
Exception- which is thrown in case a retrieval service cannot be stopped properly
-
clear
Stop and clear the currently registered job leader id listeners.- Throws:
Exception- which is thrown in case a retrieval service cannot be stopped properly
-
addJob
Add a job to be monitored to retrieve the job leader id.- Parameters:
jobId- identifying the job to monitor- Throws:
Exception- if the job could not be added to the service
-
removeJob
Remove the given job from being monitored by the service.- Parameters:
jobId- identifying the job to remove from monitor- Throws:
Exception- if removing the job fails
-
containsJob
boolean containsJob(org.apache.flink.api.common.JobID jobId) Check whether the given job is being monitored or not.- Parameters:
jobId- identifying the job- Returns:
- True if the job is being monitored; otherwise false
-
getLeaderId
CompletableFuture<JobMasterId> getLeaderId(org.apache.flink.api.common.JobID jobId) throws Exception Get the leader'sJobMasterIdfuture for the given job.- Parameters:
jobId- jobId specifying for which job to retrieve theJobMasterId- Returns:
- Future with the current leader's
JobMasterId - Throws:
Exception- if retrieving theJobMasterIdcannot be started
-
isValidTimeout
Checks whether the given timeoutId for the given jobId is valid or not.- 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:
trueif the timeout is valid; otherwisefalse
-