You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2011/09/08 02:54:07 UTC

svn commit: r1166484 - /cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/locator/AbstractNetworkTopologySnitch.java

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;
     }
 }