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 thegetLeaderId(JobID)
. The future will only be completed with an exception in case the service will be stopped.
-
-
Method Summary
All Methods Instance Methods Abstract 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
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.
-
-
-
Method Detail
-
start
void start(JobLeaderIdActions initialJobLeaderIdActions) throws Exception
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
void stop() throws Exception
Stop the service.- Throws:
Exception
- which is thrown in case a retrieval service cannot be stopped properly
-
clear
void clear() throws Exception
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
void addJob(JobID jobId) throws Exception
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
void removeJob(JobID jobId) throws Exception
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(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(JobID jobId) throws Exception
Get the leader'sJobMasterId
future 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 theJobMasterId
cannot be started
-
isValidTimeout
boolean isValidTimeout(JobID jobId, UUID timeoutId)
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:
true
if the timeout is valid; otherwisefalse
-
-