Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-6874

JvmMetrics can't distinguish between jvms with same processName

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Incomplete
    • 0.20.2
    • None
    • metrics
    • None

    Description

      JvmMetrics has three tags: hostName, processName, and sessionId. For processes such as tasktracker/jobtracker/namenode/datanode which there is only one of on each host, these tags are fine. But for process names such as "MAP" and "REDUCE", since there might be multiple jvms running map/reduce tasks, we might end up with multiple set of metrics which all have the same tags, and no way to find out which jvm they actually correspond to. (In addition, since there is jvm reuse, those process names might not correspond to the actual task being ran)

      A quick fix is to change this line in Child.java
      JvmMetrics.init(task.getPhase().toString(), job.getSessionId());
      to this
      JvmMetrics.init(jvmId.toString(), job.getSessionId());
      so that we are using the jvm id for the process name instead.

      Attachments

        Activity

          People

            Unassigned Unassigned
            fta Franklin Ta
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: