[
https://issues.apache.org/jira/browse/HDFS-6293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Haohui Mai updated HDFS-6293:
-----------------------------
Assignee: Haohui Mai
Status: Patch Available (was: Open)
To demonstrate my points, I'm attaching a patch which stores the current
PB-based fsimage into a LevelDB, and perform lsr on top of the LevelDB.
The tool that converts the fsimage into LevelDB reads the whole {{INODE_DIR}}
section into memory, then store the json representation of each inode into the
key {{IN || parent_id || localName}}. That way all children for a particular
inode are co-located thus it is efficient to run operations like lsr.
The conversion tool takes 16bytes * number of inodes to convert the fsimage.
For a fsimage that have 400M inodes, the tool takes around 6.4G of memory,
which could be run on a commodity machine. The lsr tool only requires O(1)
memory.
> Issues with OIV processing PB-based fsimages
> --------------------------------------------
>
> Key: HDFS-6293
> URL: https://issues.apache.org/jira/browse/HDFS-6293
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 2.4.0
> Reporter: Kihwal Lee
> Assignee: Haohui Mai
> Priority: Blocker
> Attachments: HDFS-6293.000.patch, Heap Histogram.html
>
>
> There are issues with OIV when processing fsimages in protobuf.
> Due to the internal layout changes introduced by the protobuf-based fsimage,
> OIV consumes excessive amount of memory. We have tested with a fsimage with
> about 140M files/directories. The peak heap usage when processing this image
> in pre-protobuf (i.e. pre-2.4.0) format was about 350MB. After converting
> the image to the protobuf format on 2.4.0, OIV would OOM even with 80GB of
> heap (max new size was 1GB). It should be possible to process any image with
> the default heap size of 1.5GB.
> Another issue is the complete change of format/content in OIV's XML output.
> I also noticed that the secret manager section has no tokens while there were
> unexpired tokens in the original image (pre-2.4.0). I did not check whether
> they were also missing in the new pb fsimage.
--
This message was sent by Atlassian JIRA
(v6.2#6252)