[
https://issues.apache.org/jira/browse/HDFS-7457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daryn Sharp updated HDFS-7457:
------------------------------
Attachment: HDFS-7457.patch
Code was split from HDFS-7433. Changed hash regeneration to be a bit more
thread-safe - compute in a temp & assign so racing threads generate an
idempotent hash. It's a bit of a folly though since the class is already not
thread safe at all...
> DatanodeID generates excessive garbage
> --------------------------------------
>
> Key: HDFS-7457
> URL: https://issues.apache.org/jira/browse/HDFS-7457
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Affects Versions: 2.0.0-alpha, 3.0.0
> Reporter: Daryn Sharp
> Assignee: Daryn Sharp
> Attachments: HDFS-7457.patch
>
>
> {{DatanodeID#getXferAddr}} is a dynamically generated string. This string is
> repeatedly generated for the hash code, equality, comparisons, and
> stringification. Every DN->NN RPC method calls
> {{DatanodeManager#getDatanode}} to validate if the node is registered, which
> involves a call to {{getXferAddr}}.
> The dynamic computation generates unnecessary trash that puts unnecessary
> pressure on the GC.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)