[
https://issues.apache.org/jira/browse/HDFS-9441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tsz Wo Nicholas Sze updated HDFS-9441:
--------------------------------------
Description: INodeFile.getName() is expensive since it involves quite a few
string operations. The method is called in both ReplicationWork and
ErasureCodingWork but the default BlockPlacementPolicy does not use the
returned string. We should simply pass BlockCollection to reduce unnecessary
computation when using the default BlockPlacementPolicy. (was: -
INodeFile.getName() is expensive since it involves quite a few string
operations. The method is called in both ReplicationWork and ErasureCodingWork
but the default BlockPlacementPolicy does not use the returned string. We
should simply pass BlockCollection to reduce unnecessary computation when using
the default BlockPlacementPolicy.
- Another improvement: the return type of FSNamesystem.getBlockCollection
should be changed to INodeFile since it always returns an INodeFile object.)
> Do not construct path string when choosing block placement targets
> ------------------------------------------------------------------
>
> Key: HDFS-9441
> URL: https://issues.apache.org/jira/browse/HDFS-9441
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: namenode
> Reporter: Tsz Wo Nicholas Sze
> Assignee: Tsz Wo Nicholas Sze
> Priority: Minor
> Attachments: h9441_20151118.patch, h9441_20151119.patch
>
>
> INodeFile.getName() is expensive since it involves quite a few string
> operations. The method is called in both ReplicationWork and
> ErasureCodingWork but the default BlockPlacementPolicy does not use the
> returned string. We should simply pass BlockCollection to reduce unnecessary
> computation when using the default BlockPlacementPolicy.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)