Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.12.2
-
None
-
None
Description
I was running a random writer followed by a sort when I saw this condition:
Exception in thread "org.apache.hadoop.dfs.FSNamesystem$ReplicationMonitor@187814" java.lang.ArrayIndexOutOfBoundsException: 3
at org.apache.hadoop.dfs.FSNamesystem$UnderReplicatedBlocks.add(FSNamesystem.java:447)
at org.apache.hadoop.dfs.FSNamesystem$UnderReplicatedBlocks.add(FSNamesystem.java:464)
at org.apache.hadoop.dfs.FSNamesystem.processPendingReplications(FSNamesystem.java:1891)
at org.apache.hadoop.dfs.FSNamesystem$ReplicationMonitor.run(FSNamesystem.java:1795)
at java.lang.Thread.run(Thread.java:619)
processPendingReplications is invoking neededReplications.add(). The add method then invokes add(block, 3, 4). This add method calls getPriority and that returns 3. Now, the call to priorityQueues[3].add() throws an OutOfBoundsException.