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

StatisticsCollector improperly keeps track of "Last Day" and "Last Hour" statistics for new TaskTrackers



    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.1
    • 1.2.0
    • mrv1
    • None
    • Reviewed


      The StatisticsCollector keeps track of updates to the "Total Tasks Last Day", "Succeed Tasks Last Day", "Total Tasks Last Hour", and "Succeeded Tasks Last Hour" per Task Tracker which is displayed on the JobTracker web UI. It uses buckets to manage when to shift task counts from "Last Hour" to "Last Day" and out of "Last Day". After the JT has been running for a while, the connected TTs will have the max number of buckets and will keep shifting them at each update. If a new TT connects (or an old on rejoins), it won't have the max number of buckets, but the code that drops the buckets uses the same counter for all sets of buckets. This means that new TTs will prematurely drop their buckets and the stats will be incorrect.


      1. Max buckets is 5
      2. TaskTracker A has these values in its buckets [4, 2, 0, 3, 10] (i.e. 19)
      3. A new TaskTracker, B, connects; it has nothing in its buckets: [ ] (i.e. 0)
      4. TaskTracker B runs 3 tasks and TaskTracker A runs 5
      5. An update occurs
      6. TaskTracker A has [2, 0, 3, 10, 5] (i.e. 20)
      7. TaskTracker B should have [3] but it will drop that bucket after adding it during the update and instead have [ ] again (i.e. 0)
      8. TaskTracker B will keep doing that forever and always show 0 in the web UI

      We can fix this by not using the same counter for all sets of buckets


        1. MAPREDUCE-4963.patch
          5 kB
          Robert Kanter

        Issue Links



              rkanter Robert Kanter
              rkanter Robert Kanter
              0 Vote for this issue
              7 Start watching this issue