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