hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-4058) DirectoryScanner may fail with IOOB if the directory scanning threads return out of volume order
Date Tue, 16 Oct 2012 02:25:02 GMT

    [ https://issues.apache.org/jira/browse/HDFS-4058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13476666#comment-13476666
] 

Hudson commented on HDFS-4058:
------------------------------

Integrated in Hadoop-trunk-Commit #2865 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/2865/])
    HDFS-4058. DirectoryScanner may fail with IOOB if the directory scanning threads return
out of volume order. Contributed by Eli Collins (Revision 1398612)

     Result = SUCCESS
eli : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1398612
Files : 
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
* /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DirectoryScanner.java

                
> 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

Mime
View raw message