He Tianyi created HADOOP-13390:
----------------------------------
Summary: GC pressure of NetworkTopology.isAncestor call can be
eliminated
Key: HADOOP-13390
URL: https://issues.apache.org/jira/browse/HADOOP-13390
Project: Hadoop Common
Issue Type: Improvement
Components: net
Affects Versions: 2.7.0, 2.6.0, 2.8.0
Reporter: He Tianyi
Priority: Minor
{{NetworkTopology.isAncestor}} is called in {{NetworkTopology.getLeaf}}, which
is excessively used in block placement policies ({{chooseRandom}} for example).
Currently, the implementation calls {{getPath}} twice. And {{getPath}} performs
string concatenation on the fly. On a busy NameNode, this introduces more GC
pressure and CPU overhead for block allocation.
Given that network location and node name does not generally change frequently,
we can cache path as a properly of {{Node}} and update accordingly while
network location or node name is changing.
Also, one of these {{getPath}} calls in {{getLeaf}} can be eliminated because
we are expecting identical result in both calls.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]