You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Eli Collins (JIRA)" <ji...@apache.org> on 2012/10/16 00:15:02 UTC

[jira] [Created] (HDFS-4058) DirectoryScanner may fail with IOOB if the directory scanning threads return out of volume order

Eli Collins created HDFS-4058:
---------------------------------

             Summary: 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
         Attachments: 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