A job in general holds some basic information, including:
- User id: See BSPJobContext.getUser() wherein configures via conf.get("user.name")
- Job file: The path to job.xml. See BSPJobClient.submitJobInternal()
- Job name: The name of this job.
- numBSPTasks: The number of BSP tasks to be launched.
Tasks: Actual launched TaskInProgresses according to numBSPTasks.
TODO: An object that holds multiple tasks execution including successful/ failed/ current task
TODO: 2d array?
- task id: TaskID object.
- startTime: System.currentTimeMillis()
partition: The ith numBSPTasks
- firstTaskId: The first task id.
MaxTaskAttempts: (constant) 4
MAX_TASK_EXEC: 1 TODO: what is this?
- Phase: Denote at which phase current task is. See Task Phase below.
- State: Denote the current state the task is. See Task State below.
A job status contains:
- PREP: This status is started when a job is created until all tasks are dispatched to groom servers.
SetUp a job
RUNNING: When tasks are executed in GroomServers.
SUCCEEDED: When all tasks are in the SUCCEEDED state.
FAILED: When one or more tasks exceed its max attempt
- KILLED: User/ Admin issues a kill command.
A single task phase.
- STARTING: Initial phase
- COMPUTE: Within bsp()
- BARRIER_SYNC: Reaching sync().
- CLEANUP: Finish entire supersteps execution.
This only indicate a task state.
- UNASSIGNED: Initial state of a task.
RUNNING: Only valid when a task is either in COMPUTE or in BARRIER_SYNC phase.
SUCCEEDED: A task completes its execution at the end of CLEANUP phase.
FAILED: An exception or an error occurrs.