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

Íñigo Goiri commented on HADOOP-16161:
--------------------------------------

Thanks [~hexiaoqiao] for  [^HADOOP-16161.002.patch].
Yetus is giving very weird reports but this should be fine.
Minor comments:
* Can we keep getWeightUsingNetworkLocation() static?
* Can we add a comment explaining the +2 in line 836.
* Can we add a comment explaining the topology in {{testGetWeightForDepth()}}?
* We have a lot of nodes and they are not really used for tests in 
{{testGetWeightForDepth()}}.

> NetworkTopology#getWeightUsingNetworkLocation return unexpected result
> ----------------------------------------------------------------------
>
>                 Key: HADOOP-16161
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16161
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: net
>            Reporter: He Xiaoqiao
>            Assignee: He Xiaoqiao
>            Priority: Major
>         Attachments: HADOOP-16161.001.patch, HADOOP-16161.002.patch
>
>
> Consider the following scenario:
> 1. there are 4 slaves and topology like:
> Rack: /IDC/RACK1
>    hostname1
>    hostname2
> Rack: /IDC/RACK2
>    hostname3
>    hostname4
> 2. Reader from hostname1, and calculate weight between reader and [hostname1, 
> hostname3, hostname4] by #getWeight, and their corresponding values are 
> [0,4,4]
> 3. Reader from client which is not in the topology, and in the same IDC but 
> in none rack of the topology, and calculate weight between reader and 
> [hostname1, hostname3, hostname4] by #getWeightUsingNetworkLocation, and 
> their corresponding values are [2,2,2]
> 4. Other different Reader can get the similar results.
> The weight result for case #3 is obviously not the expected value, the truth 
> is [4,4,4]. this issue may cause reader not really following arrange: local 
> -> local rack -> remote rack. 
> After dig the detailed implement, the root cause is 
> #getWeightUsingNetworkLocation only calculate distance between Racks rather 
> than hosts.
> I think we should add constant 2 to correct the weight of 
> #getWeightUsingNetworkLocation.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to