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

TaskAttemptListenerImpl excessive log messages

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.3.0, 3.1.4, 3.2.2, 2.10.1, 3.4.0
    • 2.8.6, 3.3.0, 2.9.3, 3.1.4, 3.2.2, 2.10.1, 3.4.0
    • test
    • None

    Description

      TaskAttemptListenerImpl.statusUpdate() causes a bloating in log files. One every call, the listener uses LOG.info() to printout the progress of the TaskAttempt.

      taskAttemptStatus.progress = taskStatus.getProgress();
          LOG.info("Progress of TaskAttempt " + taskAttemptID + " is : "
              + taskStatus.getProgress());
      

       

      2020-04-07 10:20:50,708 INFO [IPC Server handler 17 on 43926] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt attempt_1586003420099_716645_m_007783_0 is : 0.40713295
      2020-04-07 10:20:50,717 INFO [IPC Server handler 7 on 43926] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt attempt_1586003420099_716645_m_020681_0 is : 0.55573714
      2020-04-07 10:20:50,717 INFO [IPC Server handler 26 on 43926] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt attempt_1586003420099_716645_m_024371_0 is : 0.54190344
      2020-04-07 10:20:50,738 INFO [IPC Server handler 15 on 43926] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt attempt_1586003420099_716645_m_033182_0 is : 0.50264555
      2020-04-07 10:20:50,748 INFO [IPC Server handler 3 on 43926] org.apache.hadoop.mapred.TaskAttemptListenerImpl: Progress of TaskAttempt attempt_1586003420099_716645_m_022375_0 is : 0.5495565
      

      After discussing this issue with nroberts, ebadger, and epayne, we thought that while it is helpful to have a log print of task progress, it is still excessive to log the progress in every update.
      This Jira is to suppress the excessive logging from TaskAttemptListener without affecting the frequency of progress updates. 
      There are two flags:

      • -Dmapreduce.task.log.progress.delta.threshold=0.10: means that the task progress will be logged every 10% of delta progress. Default is 5%.
      • -Dmapreduce.task.log.progress.wait.interval-seconds=120: means that if the listener will log the progress every 2 minutes. This is helpful for long running tasks that take long time to achieve the delta threshold. Default is 1 minute.

      The listener will long whichever of delta.threshold and wait.interval-seconds is reached first.
        Enabling LOG.DEBUG for  TaskAttemptListenerImpl will override those two flags and log the task progress on every update.

      Attachments

        1. MAPREDUCE-7272.004.patch
          15 kB
          Ahmed Hussein
        2. MAPREDUCE-7272-branch-2.10.004.patch
          16 kB
          Ahmed Hussein
        3. MAPREDUCE-7272.003.patch
          15 kB
          Ahmed Hussein
        4. MAPREDUCE-7272.002.patch
          16 kB
          Ahmed Hussein
        5. MAPREDUCE-7272-branch-2.10.003.patch
          16 kB
          Ahmed Hussein
        6. MAPREDUCE-7272-branch-2.10.002.patch
          15 kB
          Ahmed Hussein
        7. MAPREDUCE-7272-branch-2.10.001.patch
          11 kB
          Ahmed Hussein
        8. MAPREDUCE-7272.001.patch
          11 kB
          Ahmed Hussein

        Activity

          People

            ahussein Ahmed Hussein
            ahussein Ahmed Hussein
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: