Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
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.