Author: bobby Date: Tue Aug 14 16:07:07 2012 New Revision: 1372955 URL: http://svn.apache.org/viewvc?rev=1372955&view=rev Log: svn merge -c 1325367 FIXES: HADOOP-8144. pseudoSortByDistance in NetworkTopology doesn't work properly if no local node and first node is local rack node. Contributed by Junping Du
Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetworkTopology.java Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1372955&r1=1372954&r2=1372955&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt (original) +++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/CHANGES.txt Tue Aug 14 16:07:07 2012 @@ -149,6 +149,10 @@ Release 0.23.3 - UNRELEASED HADOOP-8633. Interrupted FsShell copies may leave tmp files (Daryn Sharp via tgraves) + HADOOP-8144. pseudoSortByDistance in NetworkTopology doesn't work + properly if no local node and first node is local rack node. + (Junping Du) + Release 0.23.2 - UNRELEASED NEW FEATURES Modified: hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetworkTopology.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetworkTopology.java?rev=1372955&r1=1372954&r2=1372955&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetworkTopology.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/net/NetworkTopology.java Tue Aug 14 16:07:07 2012 @@ -639,8 +639,8 @@ public class NetworkTopology { */ public void pseudoSortByDistance( Node reader, Node[] nodes ) { int tempIndex = 0; + int localRackNode = -1; if (reader != null ) { - int localRackNode = -1; //scan the array to find the local node & local rack node for(int i=0; i<nodes.length; i++) { if(tempIndex == 0 && reader == nodes[i]) { //local node @@ -670,7 +670,7 @@ public class NetworkTopology { } // put a random node at position 0 if it is not a local/local-rack node - if(tempIndex == 0 && nodes.length != 0) { + if(tempIndex == 0 && localRackNode == -1 && nodes.length != 0) { swap(nodes, 0, r.nextInt(nodes.length)); } }