|
SMILA 1.0 API documentation | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.smila.jobmanager.persistence.zk.RunStorageZk
public class RunStorageZk
Component for handling jobmanager run data by using zookeeper. Zookeeper structure:
/smila/jobmanager/jobs/<job-name>/workflow-runs/<workflow-run-id>/data/tasks/<task-id> ............................................................................/transient-bulks/<bulkstore+objectId> ......................................................................./finishing ................................./data/<data-node> // job counters etc. ................................./worker-data/<workername> // worker specific counters etc. ................................./jobrun-definitions/ // definitions used in a job run ..................................................../jobdef ................................................... /wfdef ..................................................../bucketdef/<bucket-name> ....................../buckets/<bucket-id>/<job-name> // jobs triggered by bucket
| Field Summary | |
|---|---|
static java.lang.String |
JOBMANAGER_PREFIX
prefix for jobmanager data. |
static java.lang.String |
NODE_BUCKETS
data of a job run. |
static java.lang.String |
NODE_DATA
global data of a job run. |
static java.lang.String |
NODE_JOBS
data of a job run. |
static java.lang.String |
NODE_RUN_DEFINITIONS
root node for stored definitions that are used by a job run. |
static java.lang.String |
NODE_RUN_DEFINITIONS_BUCKET
stores bucket definitions used by a job run. |
static java.lang.String |
NODE_RUN_DEFINITIONS_JOB
stores job definition used by a job run. |
static java.lang.String |
NODE_RUN_DEFINITIONS_WORKFLOW
stores workflow definition used by a job run. |
static java.lang.String |
NODE_TASKS
tasks of a workflow step. |
static java.lang.String |
NODE_TRANSIENT_BULKS
transient bulks of a workflow run. |
static java.lang.String |
NODE_WORKERDATA
worker specific data of a job run. |
static java.lang.String |
NODE_WORKFLOW_RUN_FINISHING
indicates whether a workflow run is currently finished. |
static java.lang.String |
NODE_WORKFLOW_RUNS
workflow runs of a job run. |
| Constructor Summary | |
|---|---|
RunStorageZk()
|
|
| Method Summary | |
|---|---|
protected void |
activate(ComponentContext context)
OSGi Declarative Services service activation method. |
void |
addJobTrigger(java.lang.String bucketId,
java.lang.String jobName)
|
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. |
java.util.List<java.lang.String> |
cancelJobRun(java.lang.String jobName,
java.lang.String jobRunId)
Cancels the given job run data -> active workflow runs and current tasks will be canceled. |
boolean |
checkAndCleanupActiveWorkflowRuns(java.lang.String jobName,
java.lang.String jobRunId)
Checks if there are active workflow runs. |
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> |
getCurrentJobs()
|
java.lang.String |
getCurrentTimestamp()
|
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. |
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 |
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 |
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 |
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 |
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. |
void |
unsetZooKeeperService(ZooKeeperService zkService)
method for DS to unset a service reference. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String JOBMANAGER_PREFIX
public static final java.lang.String NODE_WORKFLOW_RUNS
public static final java.lang.String NODE_BUCKETS
public static final java.lang.String NODE_JOBS
public static final java.lang.String NODE_DATA
public static final java.lang.String NODE_WORKERDATA
public static final java.lang.String NODE_TASKS
public static final java.lang.String NODE_TRANSIENT_BULKS
public static final java.lang.String NODE_RUN_DEFINITIONS
public static final java.lang.String NODE_RUN_DEFINITIONS_JOB
public static final java.lang.String NODE_RUN_DEFINITIONS_WORKFLOW
public static final java.lang.String NODE_RUN_DEFINITIONS_BUCKET
public static final java.lang.String NODE_WORKFLOW_RUN_FINISHING
| Constructor Detail |
|---|
public RunStorageZk()
| Method Detail |
|---|
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 - error
public java.util.List<java.lang.String> cancelJobRun(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
cancelJobRun in interface RunStoragejobName - the jobjobRunId - the job run for which to remove the data
RunStorageException - error
public 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 data
RunStorageException - error
public 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 - error
public java.lang.String getJobRunId(java.lang.String jobName)
throws RunStorageException
getJobRunId in interface RunStoragejobName - the job
RunStorageException - error
public 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 - error
public AnyMap getWorkflowRunData(java.lang.String jobName,
java.lang.String workflowRunId)
throws RunStorageException
JobManagerConstants.DATA_WORKFLOW_RUN_NO_OF_ACTIVE_TASKS
JobManagerConstants.DATA_WORKFLOW_RUN_NO_OF_TRANSIENT_BULKS
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 - job
RunStorageException - error
public JobState getJobState(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
getJobState in interface RunStoragejobName - jobjobRunId - job run
RunStorageException - error
public JobRunInfo getJobRunInfo(java.lang.String jobName)
throws RunStorageException
getJobRunInfo in interface RunStoragejobName - job
RunStorageException - error
public 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 set
RunStorageException - error
public 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 set
RunStorageException - error
public java.lang.String startWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
startWorkflowRun in interface RunStoragejobName - jobjobRunId - job run
RunStorageException - error
public java.lang.String startCompletionWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
startCompletionWorkflowRun in interface RunStoragejobName - jobjobRunId - job run
RunStorageException - error
public boolean prepareToFinishWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
RunStorage.deleteWorkflowRun(String, String, String).
prepareToFinishWorkflowRun in interface RunStorageRunStorageException
public void successfulWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
successfulWorkflowRun in interface RunStorageRunStorageException
public void failedWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
failedWorkflowRun in interface RunStorageRunStorageException
public void deleteWorkflowRunData(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
deleteWorkflowRunData in interface RunStorageRunStorageException
public void deleteWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
deleteWorkflowRun in interface RunStorageRunStorageException
public boolean checkAndCleanupActiveWorkflowRuns(java.lang.String jobName,
java.lang.String jobRunId)
throws RunStorageException
checkAndCleanupActiveWorkflowRuns in interface RunStorageRunStorageException
public boolean hasWorkflowRun(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
hasWorkflowRun in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow run
RunStorageException - error
public boolean hasTasks(java.lang.String jobName,
java.lang.String jobRunId,
java.lang.String workflowRunId)
throws RunStorageException
hasTasks in interface RunStoragejobName - jobjobRunId - job runworkflowRunId - workflow run
RunStorageException - error
public 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 id
RunStorageException
public 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 task
RunStorageException - if task already exists, or other error while storing task
public 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 tasks
RunStorageException - error while storing task
public 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 RunStorageRunStorageException
public 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 RunStorageRunStorageException
public 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 RunStorageRunStorageException
public 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 worker
RunStorageException
public 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 task
RunStorageException - 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 id
RunStorageException - if task already exists, or other error while storing task
public 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 id
RunStorageException - error
public 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 run
RunStorageException - error
public void clear()
throws RunStorageException
clear in interface RunStorageRunStorageException - error
public java.util.Collection<java.lang.String> getTriggeredJobs(java.lang.String bucketId)
throws RunStorageException
getTriggeredJobs in interface RunStoragebucketId - a bucket ID
RunStorageException - error
public void addJobTrigger(java.lang.String bucketId,
java.lang.String jobName)
throws RunStorageException
addJobTrigger in interface RunStoragebucketId - a bucket IDjobName - job name
RunStorageException - error
public void removeJobTrigger(java.lang.String bucketId,
java.lang.String jobName)
throws RunStorageException
removeJobTrigger in interface RunStoragebucketId - a bucket IDjobName - job name
RunStorageException - error
public 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 listen
|
SMILA 1.0 API documentation | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||