Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Incomplete
-
None
-
None
-
None
-
hadoop-20 with
HADOOP-2141
Description
We are bottlenecked (in the JT) on the jobtracker lock and calls to findSpeculativeTask frequently show up as one of the top routines (by time) called holding this lock.
this routine calls canBeSpeculated() and hasRunOnMachine() for each task in a candidate job. Both these routines are reasonably expensive when invoked repeatedly for thousands of tasks. The top candidates for speculation from a job only need to be refreshed periodically (and not once every heartbeat) - and we can can avoid most of these invocations this way.