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

IndexOutOfBoundsException in JobInProgress.updateTaskStatus leads to hung jobs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 0.12.0
    • 0.12.1
    • None
    • None

    Description

      When the JobTracker detects that a TaskTracker is 'lost' and tries to fail the incomplete tasks and the completed map tasks it fails with:
      2007-03-03 00:38:24,056 ERROR org.apache.hadoop.mapred.JobTracker: Tracker Expiry Thread got exception: java.lang.IndexOutOfBoundsException: Index: 310, Size: 307
      at java.util.ArrayList.RangeCheck(ArrayList.java:546)
      at java.util.ArrayList.get(ArrayList.java:321)
      at org.apache.hadoop.mapred.JobInProgress.updateTaskStatus(JobInProgress.java:342)
      at org.apache.hadoop.mapred.JobInProgress.failedTask(JobInProgress.java:862)
      at org.apache.hadoop.mapred.JobTracker.lostTaskTracker(JobTracker.java:1637)
      at org.apache.hadoop.mapred.JobTracker$ExpireTrackers.run(JobTracker.java:269)
      at java.lang.Thread.run(Thread.java:595)

      Another instance of same exception:
      2007-03-05 07:44:42,869 INFO org.apache.hadoop.ipc.Server: IPC Server handler 9 on 50020 call error: java.io.IOException: java.lang.IndexOutOfBoundsException: Index: 12341
      215, Size: 83189
      java.io.IOException: java.lang.IndexOutOfBoundsException: Index: 12341215, Size: 83189
      at java.util.ArrayList.RangeCheck(ArrayList.java:547)
      at java.util.ArrayList.get(ArrayList.java:322)
      at org.apache.hadoop.mapred.JobInProgress.updateTaskStatus(JobInProgress.java:342)
      at org.apache.hadoop.mapred.JobTracker.updateTaskStatuses(JobTracker.java:1611)
      at org.apache.hadoop.mapred.JobTracker.processHeartbeat(JobTracker.java:1163)
      at org.apache.hadoop.mapred.JobTracker.heartbeat(JobTracker.java:1037)
      at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:336)
      at org.apache.hadoop.ipc.Server$Handler.run(Server.java:559)

      This means that the tasks aren't updated correctly and the JT just assumes the task is running and never restarts the task... thereby leading to a hung job.

      Attachments

        1. HADOOP-1060_20070305_1.patch
          4 kB
          Arun Murthy
        2. HADOOP-1060_20070307_2.patch
          4 kB
          Arun Murthy

        Issue Links

          Activity

            People

              acmurthy Arun Murthy
              acmurthy Arun Murthy
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: