Author: jbellis Date: Fri Dec 9 17:59:32 2011 New Revision: 1212552 URL: http://svn.apache.org/viewvc?rev=1212552&view=rev Log: range and index scans now only send requests to enough replicas to satisfy requested CL + RR patch by Vijay and jbellis for CASSANDRA-3598
Modified: cassandra/branches/cassandra-0.8/CHANGES.txt cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java Modified: cassandra/branches/cassandra-0.8/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/CHANGES.txt?rev=1212552&r1=1212551&r2=1212552&view=diff ============================================================================== --- cassandra/branches/cassandra-0.8/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.8/CHANGES.txt Fri Dec 9 17:59:32 2011 @@ -1,4 +1,6 @@ 0.8.9 + * range and index scans now only send requests to enough replicas to + satisfy requested CL + RR (CASSANDRA-3598) * use cannonical host for local node in nodetool info (CASSANDRA-3556) * remove nonlocal DC write optimization since it only worked with CL.ONE or CL.LOCAL_QUORUM (CASSANDRA-3577) Modified: cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java?rev=1212552&r1=1212551&r2=1212552&view=diff ============================================================================== --- cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java (original) +++ cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java Fri Dec 9 17:59:32 2011 @@ -702,7 +702,7 @@ public class StorageProxy implements Sto RangeSliceResponseResolver resolver = new RangeSliceResponseResolver(command.keyspace, liveEndpoints); ReadCallback<Iterable<Row>> handler = getReadCallback(resolver, command, consistency_level, liveEndpoints); handler.assureSufficientLiveNodes(); - for (InetAddress endpoint : liveEndpoints) + for (InetAddress endpoint : handler.endpoints) { MessagingService.instance().sendRR(c2, endpoint, handler); if (logger.isDebugEnabled()) @@ -968,7 +968,7 @@ public class StorageProxy implements Sto IndexScanCommand command = new IndexScanCommand(keyspace, column_family, index_clause, column_predicate, range); MessageProducer producer = new CachingMessageProducer(command); - for (InetAddress endpoint : liveEndpoints) + for (InetAddress endpoint : handler.endpoints) { MessagingService.instance().sendRR(producer, endpoint, handler); if (logger.isDebugEnabled())