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)