[ 
https://issues.apache.org/jira/browse/HDFS-6995?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14141883#comment-14141883
 ] 

Vinayakumar B commented on HDFS-6995:
-------------------------------------

Hi [~umamaheswararao], thanks for reviewing.
Scenario mentioned is very much possible. 
It was throwing NPE because, target selection was happened even though there 
was no node with "/default-rack". 
This is because, {{clusterMap.countNumOfAvailableNodes(
        scope, excludedNodes)}} was returning 1, for the scope of 
"/default-rack", it should return 0 as no nodes available with "/default-rack".
I have posted a patch for the same in HADOOP-10131, along with one more 
scenario where {{NetworkTopology#countNumOfAvailableNodes(..)}} was returning 
wrong value.
    Till now this API was not called as writer was considered as null if no DN 
exists in clients machine.
   Please review HADOOP-10131 patch, once thats in, then a remote rack will be 
chosen in the above mentioned case.

> Block should be placed in the client's 'rack-local' node if 'client-local' 
> node is not available
> ------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-6995
>                 URL: https://issues.apache.org/jira/browse/HDFS-6995
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.5.0
>            Reporter: Vinayakumar B
>            Assignee: Vinayakumar B
>         Attachments: HDFS-6995-001.patch, HDFS-6995-002.patch, 
> HDFS-6995-003.patch, HDFS-6995-004.patch
>
>
> HDFS cluster is rack aware.
> Client is in different node than of datanode,
> but Same rack contains one or more datanodes.
> In this case first preference should be given to select 'rack-local' node.
> Currently, since no Node in clusterMap corresponds to client's location, 
> blockplacement policy choosing a *random* node as local node and proceeding 
> for further placements.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to