[
https://issues.apache.org/jira/browse/HADOOP-3842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hemanth Yamijala updated HADOOP-3842:
-------------------------------------
Priority: Major (was: Blocker)
Fix Version/s: (was: 0.19.0)
0.20.0
bq. Prior to HADOOP-3412, job tracker could accept jobs without even offering
service (i.e without JobTracker.offerService() being called).
I see that in the latest code, job tracker calls {{TaskScheduler.start}} as the
first statement in {{offerService}} and the {{interTrackerServer}} is started
after that. I also checked that all schedulers currently implemented add their
listeners to the JobTracker in the {{start}} method itself. Hence, currently,
this issue doesn't exist.
I am moving this out of the Hadoop 0.19 blocker list based on this, but keeping
the issue open - as it is possible that the schedulers don't add their
listeners at startup theoretically. I think this fact needs to be made more
explicit and the contract well defined.
But for now, things do work fine. Amar, if this diagnosis is incorrect, can you
please explain and mark it back as a blocker ?
> There is a window where the JobTracker is in the RUNNING state (i.e ready to
> accept jobs) and never executes them.
> ------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-3842
> URL: https://issues.apache.org/jira/browse/HADOOP-3842
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Amar Kamat
> Assignee: Hemanth Yamijala
> Fix For: 0.20.0
>
>
> Prior to HADOOP-3412, job tracker could accept jobs without even offering
> service (i.e without {{JobTracker.offerService()}} being called). In such a
> case the job stays in JT's memory and job execution was guaranteed. With
> HADOOP-3412, {{JobTracker.submitJob()}} adds the job to JT's local structures
> and passes it to the scheduler. Scheduler gets initialized in
> {{JobTracker.offerService()}} and hence calling {{JobTracker.submitJob()}}
> before calling {{JobTracker.offerService()}} is actually a no-op. The job
> stays in JT's memory but never gets initialized. This is
> - backward incompatible
> - erroneous as there is a window where the jobtracker is ready to accept
> jobs, accepts them and never executes them.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.