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

Yi Liu updated HDFS-8988:
-------------------------
    Attachment: HDFS-8988.002.patch

Rebase the patch.

> Use LightWeightHashSet instead of LightWeightLinkedSet in 
> BlockManager#excessReplicateMap
> -----------------------------------------------------------------------------------------
>
>                 Key: HDFS-8988
>                 URL: https://issues.apache.org/jira/browse/HDFS-8988
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Yi Liu
>            Assignee: Yi Liu
>         Attachments: HDFS-8988.001.patch, HDFS-8988.002.patch
>
>
> {code}
> public final Map<String, LightWeightLinkedSet<Block>> excessReplicateMap = 
> new HashMap<>();
> {code}
> {{LightWeightLinkedSet}} extends {{LightWeightHashSet}} and in addition it 
> stores elements in double linked list to ensure ordered traversal. So it 
> requires more memory for each entry (2 references = 8 + 8 bytes = 16 bytes, 
> assume 64-bits system/JVM).  
> I have traversed the source code, and we don't need ordered traversal for 
> excess replicated blocks, so could use  {{LightWeightHashSet}} to save memory.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to