[ 
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)

Reply via email to