Author: jbellis
Date: Wed Aug 25 16:12:10 2010
New Revision: 989197

URL: http://svn.apache.org/viewvc?rev=989197&view=rev
Log:
backport CASSANDRA-1429

Removed:
    
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/DatacenterShardStategy.java
Modified:
    cassandra/branches/cassandra-0.6/CHANGES.txt
    
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/RackAwareStrategy.java

Modified: cassandra/branches/cassandra-0.6/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/CHANGES.txt?rev=989197&r1=989196&r2=989197&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.6/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.6/CHANGES.txt Wed Aug 25 16:12:10 2010
@@ -1,3 +1,7 @@
+0.6.6
+ * Allow using DynamicEndpointSnitch with RackAwareStrategy (CASSANDRA-1429)
+
+
 0.6.5
  * fix key ordering in range query results with RandomPartitioner
    and ConsistencyLevel > ONE (CASSANDRA-1145)

Modified: 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/RackAwareStrategy.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/RackAwareStrategy.java?rev=989197&r1=989196&r2=989197&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/RackAwareStrategy.java
 (original)
+++ 
cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/locator/RackAwareStrategy.java
 Wed Aug 25 16:12:10 2010
@@ -41,8 +41,6 @@ public class RackAwareStrategy extends A
     public RackAwareStrategy(TokenMetadata tokenMetadata, IEndPointSnitch 
snitch)
     {
         super(tokenMetadata, snitch);
-        if (!(snitch instanceof EndPointSnitch))
-            throw new IllegalArgumentException(("RackAwareStrategy requires 
EndPointSnitch."));
     }
 
     public ArrayList<InetAddress> getNaturalEndpoints(Token token, 
TokenMetadata metadata, String table)
@@ -66,7 +64,7 @@ public class RackAwareStrategy extends A
             {
                 // First try to find one in a different data center
                 Token t = iter.next();
-                if 
(!((EndPointSnitch)snitch_).isInSameDataCenter(metadata.getEndPoint(primaryToken),
 metadata.getEndPoint(t)))
+                if 
(!(snitch_).isInSameDataCenter(metadata.getEndPoint(primaryToken), 
metadata.getEndPoint(t)))
                 {
                     // If we have already found something in a diff datacenter 
no need to find another
                     if (!bDataCenter)
@@ -77,8 +75,8 @@ public class RackAwareStrategy extends A
                     continue;
                 }
                 // Now  try to find one on a different rack
-                if 
(!((EndPointSnitch)snitch_).isOnSameRack(metadata.getEndPoint(primaryToken), 
metadata.getEndPoint(t)) &&
-                    
((EndPointSnitch)snitch_).isInSameDataCenter(metadata.getEndPoint(primaryToken),
 metadata.getEndPoint(t)))
+                if (!snitch_.isOnSameRack(metadata.getEndPoint(primaryToken), 
metadata.getEndPoint(t)) &&
+                    
snitch_.isInSameDataCenter(metadata.getEndPoint(primaryToken), 
metadata.getEndPoint(t)))
                 {
                     // If we have already found something in a diff rack no 
need to find another
                     if (!bOtherRack)


Reply via email to