hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-4461) DirectoryScanner: volume path prefix takes up memory for every block that is scanned
Date Fri, 01 Feb 2013 19:20:12 GMT

     [ https://issues.apache.org/jira/browse/HDFS-4461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Colin Patrick McCabe updated HDFS-4461:
---------------------------------------

    Description: In the {{DirectoryScanner}}, we create a class {{ScanInfo}} for every block.
 This object contains two File objects-- one for the metadata file, and one for the block
file.  Since those File objects contain full paths, users who pick a lengthly path for their
volume roots will end up using an extra N_blocks * path_prefix bytes per block scanned.  We
also don't really need to store File objects-- storing strings and then creating File objects
as needed would be cheaper.  This would be a nice efficiency improvement.  (was: In the {{DirectoryScanner}},
we create a class {{ScanInfo}} for every block.  This object contains two File objects-- one
for the metadata file, and one for the block file.  Since those File objects contain full
paths, users who pick a lengthly path for their volume roots will end up using an extra N_blocks
* path_prefix bytes per block scanned.  We also don't really need to store File objects--
storing strings and then creating File objects as needed would be cheaper.  This has been
causing out-of-memory conditions for users who pick such long volume paths.)
    
> DirectoryScanner: volume path prefix takes up memory for every block that is scanned

> -------------------------------------------------------------------------------------
>
>                 Key: HDFS-4461
>                 URL: https://issues.apache.org/jira/browse/HDFS-4461
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>    Affects Versions: 2.0.3-alpha
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>         Attachments: HDFS-4461.002.patch, HDFS-4461.003.patch, memory-analysis.png
>
>
> In the {{DirectoryScanner}}, we create a class {{ScanInfo}} for every block.  This object
contains two File objects-- one for the metadata file, and one for the block file.  Since
those File objects contain full paths, users who pick a lengthly path for their volume roots
will end up using an extra N_blocks * path_prefix bytes per block scanned.  We also don't
really need to store File objects-- storing strings and then creating File objects as needed
would be cheaper.  This would be a nice efficiency improvement.

--
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