You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Yi Liu (JIRA)" <ji...@apache.org> on 2015/08/18 03:57:46 UTC

[jira] [Created] (HDFS-8912) Implement ShrinkableHashMap extends java HashMap and use properly

Yi Liu created HDFS-8912:
----------------------------

             Summary: Implement ShrinkableHashMap extends java HashMap and use properly
                 Key: HDFS-8912
                 URL: https://issues.apache.org/jira/browse/HDFS-8912
             Project: Hadoop HDFS
          Issue Type: Sub-task
            Reporter: Yi Liu
            Assignee: Yi Liu


Currently {{LightWeightHashSet}} and {{LightWeightLinkedSet}} are used in hdfs, there are two advantages compared to java HashSet: one is the entry requires fewer memory, another is it's shrinkable.  In real cluster, hdfs is a long running service, and {{set}} may become very large at some time and may become small after that, so shrinking the {{set}} when size hits the shrink threshold is necessary, it can improve the NN memory.

Same situation for {{map}}, some HashMap used in BlockManager (e.g., the hashmap in CorruptReplicasMap), it's better to be shrinkable. 
 I think it's worth to implement ShrinkableHashMap extends the java HashMap, for quick glance, seems few code is needed.



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