Author: jbellis
Date: Thu Sep  8 00:54:06 2011
New Revision: 1166484

URL: http://svn.apache.org/viewvc?rev=1166484&view=rev
Log:
allow topology sort to work with non-unique rack names between datacenters
patch by Vijay; reviewed by jbellis for CASSANDRA-3152

Modified:
    
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractNetworkTopologySnitch.java

Modified: 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractNetworkTopologySnitch.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractNetworkTopologySnitch.java?rev=1166484&r1=1166483&r2=1166484&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractNetworkTopologySnitch.java
 (original)
+++ 
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractNetworkTopologySnitch.java
 Thu Sep  8 00:54:06 2011
@@ -84,14 +84,6 @@ public abstract class AbstractNetworkTop
         if (address.equals(a2) && !address.equals(a1))
             return 1;
 
-        String addressRack = getRack(address);
-        String a1Rack = getRack(a1);
-        String a2Rack = getRack(a2);
-        if (addressRack.equals(a1Rack) && !addressRack.equals(a2Rack))
-            return -1;
-        if (addressRack.equals(a2Rack) && !addressRack.equals(a1Rack))
-            return 1;
-
         String addressDatacenter = getDatacenter(address);
         String a1Datacenter = getDatacenter(a1);
         String a2Datacenter = getDatacenter(a2);
@@ -100,6 +92,13 @@ public abstract class AbstractNetworkTop
         if (addressDatacenter.equals(a2Datacenter) && 
!addressDatacenter.equals(a1Datacenter))
             return 1;
 
+        String addressRack = getRack(address);
+        String a1Rack = getRack(a1);
+        String a2Rack = getRack(a2);
+        if (addressRack.equals(a1Rack) && !addressRack.equals(a2Rack))
+            return -1;
+        if (addressRack.equals(a2Rack) && !addressRack.equals(a1Rack))
+            return 1;
         return 0;
     }
 }


Reply via email to