Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-13065 Add a new interface for retrieving FS and FC Statistics
  3. HADOOP-13284

FileSystemStorageStatistics must not attempt to read non-existent rack-aware read stats in branch-2.8

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.8.0
    • 2.8.0
    • fs
    • None

    Description

      As HDFS-9579 was not committed to branch-2.8, FileSystemStorageStatistics#KEYS should not include those rack aware read stats brought by HDFS-9579, including bytesReadLocalHost, bytesReadDistanceOfOneOrTwo, bytesReadDistanceOfThreeOrFour, bytesReadDistanceOfFiveOrLarger. Or else, the long iterator will throw NPE when traversing. See detailed exception stack as following (it happens when Tez uses the new FileSystemStorageStatistics).

      2016-06-15 15:56:59,242 [DEBUG] [TezChild] |impl.TezProcessorContextImpl|: Cleared TezProcessorContextImpl related information
      2016-06-15 15:56:59,243 [WARN] [main] |task.TezTaskRunner2|: Exception from RunnerCallable
      java.lang.NullPointerException
              at org.apache.hadoop.fs.FileSystemStorageStatistics$LongStatisticIterator.next(FileSystemStorageStatistics.java:74)
              at org.apache.hadoop.fs.FileSystemStorageStatistics$LongStatisticIterator.next(FileSystemStorageStatistics.java:51)
              at org.apache.tez.runtime.metrics.FileSystemStatisticsUpdater2.updateCounters(FileSystemStatisticsUpdater2.java:51)
              at org.apache.tez.runtime.metrics.TaskCounterUpdater.updateCounters(TaskCounterUpdater.java:118)
              at org.apache.tez.runtime.RuntimeTask.setFrameworkCounters(RuntimeTask.java:172)
              at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:100)
              at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:37)
              at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36)
              at java.util.concurrent.FutureTask.run(FutureTask.java:262)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
              at java.lang.Thread.run(Thread.java:745)
      2016-06-15 15:56:59,245 [DEBUG] [main] |task.TaskReporter|: Sending heartbeat to AM, request={  containerId=container_1466028486194_0005_01_000002, requestId=10, startIndex=0, preRoutedStartIndex=1, maxEventsToGet=500, taskAttemptId=attempt_1466028486194_0005_1_00_000000_0, eventCount=4 }
      

      Thanks hitesh for reporting this.

      Attachments

        1. HADOOP-13284-branch-2.8.000.patch
          0.7 kB
          Mingliang Liu

        Activity

          People

            liuml07 Mingliang Liu
            liuml07 Mingliang Liu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: