Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-2026

JobTracker.getJobCounters() should not hold JobTracker lock while calling JobInProgress.getCounters()

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.22.0, 0.23.0
    • None
    • None
    • Reviewed

    Description

      JobTracker.getJobCounter() will lock JobTracker and call JobInProgress.getCounters().
      JobInProgress.getCounters() can be very expensive because it aggregates all the task counters.
      We found that from the JobTracker jstacks that this method is one of the bottleneck of the JobTracker performance.

      JobInProgress.getCounters() should be able to be called out side the JobTracker lock because it already has JobInProgress lock.
      For example, it is used by jobdetails.jsp without a JobTracker lock.

      Attachments

        1. 2026.1.patch
          3 kB
          Joydeep Sen Sarma
        2. MAPREDUCE-2026.txt
          1 kB
          Scott Chen

        Issue Links

          Activity

            People

              jsensarma Joydeep Sen Sarma
              schen Scott Chen
              Votes:
              1 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: