[
https://issues.apache.org/jira/browse/HDFS-8988?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yi Liu updated HDFS-8988:
-------------------------
Description:
{code}
public final Map<String, LightWeightLinkedSet<Block>> excessReplicateMap = new
HashMap<>();
{code}
{{LightWeightLinkedSet}} extends {{LightWeightHashSet}} and keeps elements in
order, but it requires more memory for each entry (2 references = 8 bytes).
We don't need to keep excess replicated blocks in order here, so should use
{{LightWeightHashSet}}.
was:
{code}
public final Map<String, LightWeightLinkedSet<Block>> excessReplicateMap = new
HashMap<>();
{code}
{{LightWeightLinkedSet}} extends {{LightWeightHashSet}} and keeps elements in
order, but it requires more memory for each entry (2 references, totally 8
bytes).
We don't need to keep excess replicated blocks in order here, so should use
{{LightWeightHashSet}}.
> 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
> Priority: Minor
>
> {code}
> public final Map<String, LightWeightLinkedSet<Block>> excessReplicateMap =
> new HashMap<>();
> {code}
> {{LightWeightLinkedSet}} extends {{LightWeightHashSet}} and keeps elements in
> order, but it requires more memory for each entry (2 references = 8 bytes).
> We don't need to keep excess replicated blocks in order here, so should use
> {{LightWeightHashSet}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)