[ https://issues.apache.org/jira/browse/HDFS-4058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eli Collins updated HDFS-4058: ------------------------------ Resolution: Fixed Fix Version/s: 2.0.3-alpha Target Version/s: (was: 2.0.3-alpha) Hadoop Flags: Reviewed Status: Resolved (was: Patch Available) I've committed this and merged to branch-2. > DirectoryScanner may fail with IOOB if the directory scanning threads return > out of volume order > ------------------------------------------------------------------------------------------------ > > Key: HDFS-4058 > URL: https://issues.apache.org/jira/browse/HDFS-4058 > Project: Hadoop HDFS > Issue Type: Improvement > Components: data-node > Affects Versions: 2.0.0-alpha > Reporter: Eli Collins > Assignee: Eli Collins > Fix For: 2.0.3-alpha > > Attachments: hdfs-4058.txt, hdfs-4058.txt > > > The DirectoryScanner may fail with an IOOB if the directory scanning threads > return out of volume order (ie volume scanner #3 returns before volume > scanner #2). This is because it's using an ArrayList and ArrayList#add(index, > element) throws IOOB if idx >= size, and size is only increased as elements > are added, therefore adds have to be done in index order. Since we know the > size when we create the ArrayList let's just use an array (perhaps an > ArrayList was used originally because someone thought array creation called > the default constructor?). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira