[
https://issues.apache.org/jira/browse/HADOOP-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537666
]
Adrian Woodhead commented on HADOOP-2086:
-----------------------------------------
OK, I can think of two ways of doing this:
1)
public boolean addDependingJob(Job dependingJob) {
if (checkState() == Job.WAITING) {
//code to add depending job to list goes here
} else {
return false;
}
}
2)
public boolean addDependingJob(Job dependingJob) {
int currentState=checkState();
if (currentState == Job.READY || currentState == Job.RUNNING ) {
return false;
}
//code to add depending job to list goes here
My preference would be for 1) because I assume it only makes sense to add a
depending job to a job that is in the WAITING state, unless I am missing
something and there are cases when one would want to add depending jobs in
other states?
Are there any possible synchronization issues with state? (i.e. we check the
state but before we can add the depending job, the state changes, can this
happen?)
> ability to add dependencies to a job after construction
> -------------------------------------------------------
>
> Key: HADOOP-2086
> URL: https://issues.apache.org/jira/browse/HADOOP-2086
> Project: Hadoop
> Issue Type: Improvement
> Components: mapred
> Affects Versions: 0.14.2
> Environment: n/a
> Reporter: Adrian Woodhead
> Fix For: 0.16.0
>
> Attachments: job-add-dependencies.patch
>
>
> The current Job API only allows for dependent jobs to be passed in at object
> construction time. It would be nice if there was an additional constructor
> which did not take any depending jobs and then an "addDependingJob" method
> which could be used to add depending jobs to a job at a later point.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.