[
https://issues.apache.org/jira/browse/HDFS-13752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16553853#comment-16553853
]
Xiao Chen commented on HDFS-13752:
----------------------------------
Thanks all for the investigation and discussion here.
>From the benchmark and analysis above, I agree uri is consuming a fair amount
>of memory. However, the downside of replacing it with a String is that, all
>the current methods in {{Path}} that's based on the convenience of a cached
>uri will incur CPU cost to calculate the uri from string, and possibly young
>gen object allocations. This includes {{toUri}}, {{isUriPathAbsolute}} and
>{{isAbsolute}}, all of which are widely used. We might use an additional
>boolean to cache isAbsolute, but I don't see a good solution for {{toUri}} and
>there are 922 usages of it in trunk.
I'd like to see more benchmarks to prove that my concern is false, before we
make this rather fundamental change.
> fs.Path stores file path in java.net.URI causes big memory waste
> ----------------------------------------------------------------
>
> Key: HDFS-13752
> URL: https://issues.apache.org/jira/browse/HDFS-13752
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: fs
> Affects Versions: 2.7.6
> Environment: Hive 2.1.1 and hadoop 2.7.6
> Reporter: Barnabas Maidics
> Priority: Major
> Attachments: Screen Shot 2018-07-20 at 11.12.38.png,
> heapdump-100000partitions.html
>
>
> I was looking at HiveServer2 memory usage, and a big percentage of this was
> because of org.apache.hadoop.fs.Path, where you store file paths in a
> java.net.URI object. The URI implementation stores the same string in 3
> different objects (see the attached image). In Hive when there are many
> partitions this cause a big memory usage. In my particular case 42% of memory
> was used by java.net.URI so it could be reduced to 14%.
> I wonder if the community is open to replace it with a more memory efficient
> implementation and what other things should be considered here? It can be a
> huge memory improvement for Hadoop and for Hive as well.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]