public class RunStorageZk extends java.lang.Object implements RunStorage
ZkPaths for the structure of the data in zookeeper.ZkPaths| Constructor and Description |
|---|
RunStorageZk() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
activate(ComponentContext context)
OSGi Declarative Services service activation method.
|
void |
addBulkForBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position,
java.lang.String bulkId) |
void |
addJobTrigger(java.lang.String bucketId,
java.lang.String jobName) |
void |
addTaskForBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position,
java.lang.String taskId) |
void |
addTransientBulk(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String bulk)
Stores a transient bulk for the given workflow run.
|
void |
cancelJobRun(java.lang.String jobName,
java.lang.String jobRunId,
java.util.List<java.lang.String> workflowRuns)
Cancels the given job run data -> active workflow runs and current tasks will be canceled.
|
void |
cancelWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
Cancels a single workflow run inside a job run.
|
boolean |
checkAndCleanupActiveWorkflowRuns(java.lang.String jobName,
java.lang.String jobRunId)
Checks if there are active workflow runs.
|
void |
cleanOpenedBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position) |
void |
clear()
Remove all jobmanager run data.
|
protected void |
deactivate(ComponentContext context)
OSGi Declarative Services service deactivation method.
|
void |
deleteJobRun(java.lang.String jobName,
java.lang.String jobRunId)
Removes the job run data of the given job run.
|
void |
deleteWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
Deletes the given workflow run.
|
void |
deleteWorkflowRunData(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
Deletes the data of the given workflow run.
|
void |
failedTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
boolean failedAfterRetry,
java.util.Map<java.lang.String,java.lang.String> properties)
Called when a task is failed.
|
void |
failedWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
Called when a workflow run failed.
|
boolean |
finishJobRun(java.lang.String jobName,
java.lang.String jobRunId)
Called when a job run is finished.
|
void |
finishTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
java.util.Map<java.lang.String,java.lang.Number> workerCounter,
java.util.Map<java.lang.String,java.lang.String> properties)
Called when a task is successfully finished.
|
java.util.Collection<java.lang.String> |
getBulksForBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position) |
java.util.Collection<java.lang.String> |
getCurrentJobs() |
java.lang.String |
getCurrentTimestamp() |
byte[] |
getCustomData(java.lang.String jobName,
java.lang.String worker,
java.lang.String... path) |
AnyMap |
getJobRunData(java.lang.String jobName,
boolean returnDetails) |
java.lang.String |
getJobRunId(java.lang.String jobName) |
JobRunInfo |
getJobRunInfo(java.lang.String jobName) |
JobState |
getJobState(java.lang.String jobName) |
JobState |
getJobState(java.lang.String jobName,
java.lang.String jobRunId) |
int |
getTaskRetries(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId)
get the number of retries for the task.
|
java.util.Collection<java.lang.String> |
getTransientBulks(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId) |
java.util.Collection<java.lang.String> |
getTriggeredJobs(java.lang.String bucketId) |
AnyMap |
getWorkerData(java.lang.String jobName,
java.lang.String worker) |
AnyMap |
getWorkflowRunData(java.lang.String jobName,
java.lang.String workflowRunId)
get information about a workflow run.
|
java.util.List<java.lang.String> |
getWorkflowRuns(java.lang.String jobName,
java.lang.String jobRunId) |
boolean |
hasTask(java.lang.String jobName,
java.lang.String workflowRunId,
java.lang.String taskId)
Check if the given task with the given task id exists for the job and workflowrun.
|
boolean |
hasTasks(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId) |
boolean |
hasWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId) |
void |
obsoleteTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
java.util.Map<java.lang.String,java.lang.String> properties)
Called when a task finished as obsolete.
|
boolean |
prepareOpeningOfBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position) |
boolean |
prepareToFinishWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
Called before a workflow run is finished and deleted.
|
void |
registerJobRunListener(JobRunListener jobRunListener,
java.lang.String jobName) |
void |
removeJobTrigger(java.lang.String bucketId,
java.lang.String jobName) |
void |
removeTaskForBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position,
java.lang.String taskId) |
void |
retriedTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
boolean retryByWorker,
java.util.Map<java.lang.String,java.lang.String> properties)
Called when a task is retried.
|
void |
setCustomData(java.lang.String jobName,
java.lang.String worker,
byte[] data,
java.lang.String... path)
Store custom data for given job, worker and path.
|
void |
setJobState(java.lang.String jobName,
java.lang.String jobRunId,
JobState jobState)
Sets the state for the given job run.
|
boolean |
setJobState(java.lang.String jobName,
java.lang.String jobRunId,
JobState expectedState,
JobState newState)
Sets the state for the given job run if the given expected state matches the current state.
|
void |
setupBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int actionPosition) |
void |
setZooKeeperService(ZooKeeperService zkService)
method for DS to set a service reference.
|
java.lang.String |
startCompletionWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId)
Called when a new completing workflow run is started for the given job run.
|
void |
startJobRun(java.lang.String jobName,
java.lang.String jobRunId,
JobRunMode jobRunMode,
JobRunDefinitions jobRunDefs)
Starts a job run.
|
void |
startTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId)
Called when a new task is started for the given step in the given workflow of the given job run.
|
void |
startTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
int numberOfRetries)
Called when a new task is started for the given step in the given workflow of the given job run.
|
void |
startTasks(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.util.Collection<Task> tasks)
Start multiple new tasks for a given job/workflow run at once.
|
java.lang.String |
startWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId)
Called when a new workflow run is started for the given job run.
|
void |
successfulWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
Called when a workflow run successfully finished.
|
boolean |
tasksLockBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position) |
void |
unsetZooKeeperService(ZooKeeperService zkService)
method for DS to unset a service reference.
|
public java.lang.String getCurrentTimestamp()
getCurrentTimestamp in interface RunStorageprotected void activate(ComponentContext context)
context - OSGi service component context.protected void deactivate(ComponentContext context)
context - OSGi service component context.public void setZooKeeperService(ZooKeeperService zkService)
zkService - ZooKeeperService reference.public void unsetZooKeeperService(ZooKeeperService zkService)
zkService - ZooKeeperService reference.public void startJobRun(java.lang.String jobName,
java.lang.String jobRunId,
JobRunMode jobRunMode,
JobRunDefinitions jobRunDefs)
throws RunStorageException
startJobRun in interface RunStoragejobName - The name of the job to start.jobRunId - The job run id for the started job run.jobRunMode - The job run mode for the started job run.jobRunDefs - The job run definitions that are stored for this job run.RunStorageException - If there's an error while accessing the run storage.public boolean finishJobRun(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
finishJobRun in interface RunStoragejobName - The job namejobRunId - The job run id for the finished job run.RunStorageException - errorpublic java.util.List<java.lang.String> getWorkflowRuns(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
getWorkflowRuns in interface RunStoragejobName - the jobjobRunId - the job run for which to return the workflow runsRunStorageException - errorpublic void cancelJobRun(java.lang.String jobName,
java.lang.String jobRunId,
java.util.List<java.lang.String> workflowRuns)
throws RunStorageException
RunStoragecancelJobRun in interface RunStoragejobName - the jobjobRunId - the job run for which to remove the dataworkflowRuns - the active workflow runs for this job runRunStorageException - errorpublic void cancelWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
RunStoragecancelWorkflowRun in interface RunStorageRunStorageExceptionpublic void deleteJobRun(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
deleteJobRun in interface RunStoragejobName - the jobjobRunId - the job run for which to remove the dataRunStorageException - errorpublic java.util.Collection<java.lang.String> getCurrentJobs()
throws RunStorageException
getCurrentJobs in interface RunStorageJobState.PREPARING,JobState.RUNNING, or JobState.FINISHING, but while cleaning up
jobs in states JobState.SUCCEEDED and JobState.FAILED, they are still in RunStorage, too.RunStorageException - errorpublic java.lang.String getJobRunId(java.lang.String jobName)
throws RunStorageException
getJobRunId in interface RunStoragejobName - the jobRunStorageException - errorpublic AnyMap getJobRunData(java.lang.String jobName, boolean returnDetails) throws RunStorageException
getJobRunData in interface RunStoragejobName - jobreturnDetails - whether to return details (e.g. workflow/bucket definition)RunStorageException - errorpublic AnyMap getWorkflowRunData(java.lang.String jobName, java.lang.String workflowRunId) throws RunStorageException
getWorkflowRunData in interface RunStorageRunStorageException - jobrun or workflowrun are not active anymore.public AnyMap getWorkerData(java.lang.String jobName, java.lang.String worker)
public JobState getJobState(java.lang.String jobName) throws RunStorageException
getJobState in interface RunStoragejobName - jobRunStorageException - errorpublic JobState getJobState(java.lang.String jobName, java.lang.String jobRunId) throws RunStorageException
getJobState in interface RunStoragejobName - jobjobRunId - job runRunStorageException - errorpublic JobRunInfo getJobRunInfo(java.lang.String jobName) throws RunStorageException
getJobRunInfo in interface RunStoragejobName - jobRunStorageException - errorpublic void setJobState(java.lang.String jobName,
java.lang.String jobRunId,
JobState jobState)
throws RunStorageException
setJobState in interface RunStoragejobName - jobjobRunId - job runjobState - the new state to setRunStorageException - errorpublic boolean setJobState(java.lang.String jobName,
java.lang.String jobRunId,
JobState expectedState,
JobState newState)
throws RunStorageException
setJobState in interface RunStoragejobName - jobjobRunId - job runexpectedState - the old state that is expected to be the current statenewState - the new state to setRunStorageException - errorpublic java.lang.String startWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
startWorkflowRun in interface RunStoragejobName - jobjobRunId - job runRunStorageException - errorpublic java.lang.String startCompletionWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
startCompletionWorkflowRun in interface RunStoragejobName - jobjobRunId - job runRunStorageException - errorpublic boolean prepareToFinishWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
RunStorage.deleteWorkflowRun(String, String, String).prepareToFinishWorkflowRun in interface RunStorageRunStorageExceptionpublic void successfulWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
successfulWorkflowRun in interface RunStorageRunStorageExceptionpublic void failedWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
failedWorkflowRun in interface RunStorageRunStorageExceptionpublic void deleteWorkflowRunData(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
deleteWorkflowRunData in interface RunStorageRunStorageExceptionpublic void deleteWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
deleteWorkflowRun in interface RunStorageRunStorageExceptionpublic boolean checkAndCleanupActiveWorkflowRuns(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
checkAndCleanupActiveWorkflowRuns in interface RunStorageRunStorageExceptionpublic boolean hasWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
hasWorkflowRun in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow runRunStorageException - errorpublic boolean hasTasks(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
hasTasks in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow runRunStorageException - errorpublic void startTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId)
throws RunStorageException
startTask in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow runstepId - step idtaskId - task idRunStorageExceptionpublic void startTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
int numberOfRetries)
throws RunStorageException
startTask in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow runstepId - step idtaskId - task idnumberOfRetries - current number of retries for this taskRunStorageException - if task already exists, or other error while storing taskpublic void startTasks(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.util.Collection<Task> tasks)
throws RunStorageException
startTasks in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow runtasks - new tasksRunStorageException - error while storing taskpublic void finishTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
java.util.Map<java.lang.String,java.lang.Number> workerCounter,
java.util.Map<java.lang.String,java.lang.String> properties)
throws RunStorageException
finishTask in interface RunStorageRunStorageExceptionpublic void obsoleteTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
java.util.Map<java.lang.String,java.lang.String> properties)
throws RunStorageException
obsoleteTask in interface RunStorageRunStorageExceptionpublic void failedTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
boolean failedAfterRetry,
java.util.Map<java.lang.String,java.lang.String> properties)
throws RunStorageException
failedTask in interface RunStorageRunStorageExceptionpublic void retriedTask(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId,
boolean retryByWorker,
java.util.Map<java.lang.String,java.lang.String> properties)
throws RunStorageException
retriedTask in interface RunStorageretryByWorker - whether the retry was triggered by a workerRunStorageExceptionpublic boolean hasTask(java.lang.String jobName,
java.lang.String workflowRunId,
java.lang.String taskId)
throws RunStorageException
hasTask in interface RunStoragejobName - the name of the job.workflowRunId - the id of the workflow runtaskId - the id of the taskRunStorageException - an exception occurred while checking for task existence.public int getTaskRetries(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String stepId,
java.lang.String taskId)
throws RunStorageException
getTaskRetries in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow runstepId - step idtaskId - task idRunStorageException - if task already exists, or other error while storing taskpublic void addTransientBulk(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId,
java.lang.String bulk)
throws RunStorageException
addTransientBulk in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow runbulk - the bulk idRunStorageException - errorpublic java.util.Collection<java.lang.String> getTransientBulks(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
getTransientBulks in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow runRunStorageException - errorpublic void clear()
throws RunStorageException
clear in interface RunStorageRunStorageException - errorpublic java.util.Collection<java.lang.String> getTriggeredJobs(java.lang.String bucketId)
throws RunStorageException
getTriggeredJobs in interface RunStoragebucketId - a bucket IDRunStorageException - errorpublic void addJobTrigger(java.lang.String bucketId,
java.lang.String jobName)
throws RunStorageException
addJobTrigger in interface RunStoragebucketId - a bucket IDjobName - job nameRunStorageException - errorpublic void removeJobTrigger(java.lang.String bucketId,
java.lang.String jobName)
throws RunStorageException
removeJobTrigger in interface RunStoragebucketId - a bucket IDjobName - job nameRunStorageException - errorpublic void registerJobRunListener(JobRunListener jobRunListener, java.lang.String jobName)
registerJobRunListener in interface RunStoragejobRunListener - listener to be notified about job run events.jobName - job on which to listenpublic void setCustomData(java.lang.String jobName,
java.lang.String worker,
byte[] data,
java.lang.String... path)
throws RunStorageException
RunStoragesetCustomData in interface RunStorageRunStorageException - if job does not exist in RunStorage.public byte[] getCustomData(java.lang.String jobName,
java.lang.String worker,
java.lang.String... path)
throws RunStorageException
getCustomData in interface RunStorageRunStorageExceptionpublic void setupBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int actionPosition)
throws RunStorageException
setupBarrier in interface RunStorageRunStorageExceptionpublic void addTaskForBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position,
java.lang.String taskId)
throws RunStorageException
addTaskForBarrier in interface RunStorageRunStorageExceptionpublic void removeTaskForBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position,
java.lang.String taskId)
throws RunStorageException
removeTaskForBarrier in interface RunStorageRunStorageExceptionpublic boolean tasksLockBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position)
throws RunStorageException
tasksLockBarrier in interface RunStorageRunStorageExceptionpublic void addBulkForBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position,
java.lang.String bulkId)
throws RunStorageException
addBulkForBarrier in interface RunStorageRunStorageExceptionpublic java.util.Collection<java.lang.String> getBulksForBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position)
throws RunStorageException
getBulksForBarrier in interface RunStorageRunStorageExceptionpublic void cleanOpenedBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position)
throws RunStorageException
cleanOpenedBarrier in interface RunStorageRunStorageExceptionpublic boolean prepareOpeningOfBarrier(java.lang.String jobName,
java.lang.String workflowRunId,
int position)
throws RunStorageException
prepareOpeningOfBarrier in interface RunStorageRunStorageException