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

Todd Lipcon commented on HDFS-5957:
-----------------------------------

bq. That was attempted & we do follow that codepath for the remote reads. That 
is slower than the zero copy read because to produce a direct byte buffer, the 
JVM has to defragment memory & produce a contiguous large memory region - this 
triggered a full GC pass, which caused stragglers with container reuse.

This doesn't make sense to me -- direct buffers are off-heap and allocating one 
is really just a wrapper around Unsafe.allocateMemory(), which itself is just a 
regular old malloc.

Maybe something else was going on there?

> Provide support for different mmap cache retention policies in 
> ShortCircuitCache.
> ---------------------------------------------------------------------------------
>
>                 Key: HDFS-5957
>                 URL: https://issues.apache.org/jira/browse/HDFS-5957
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs-client
>    Affects Versions: 2.3.0
>            Reporter: Chris Nauroth
>
> Currently, the {{ShortCircuitCache}} retains {{mmap}} regions for reuse by 
> multiple reads of the same block or by multiple threads.  The eventual 
> {{munmap}} executes on a background thread after an expiration period.  Some 
> client usage patterns would prefer strict bounds on this cache and 
> deterministic cleanup by calling {{munmap}}.  This issue proposes additional 
> support for different caching policies that better fit these usage patterns.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to