range and index scans now only send requests to enough replicas to satisfy requested CL + RR patch by Vijay and jbellis for CASSANDRA-3598
git-svn-id: https://svn.apache.org/repos/asf/cassandra/branches/cassandra-0.8@1212552 13f79535-47bb-0310-9956-ffa450edef68 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a7d0cdef Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a7d0cdef Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a7d0cdef Branch: refs/heads/cassandra-1.0 Commit: a7d0cdef578aabf18fca804343400e6fa03b5fd0 Parents: 4d5c132 Author: Jonathan Ellis <[email protected]> Authored: Fri Dec 9 17:59:32 2011 +0000 Committer: Jonathan Ellis <[email protected]> Committed: Fri Dec 9 17:59:32 2011 +0000 ---------------------------------------------------------------------- CHANGES.txt | 2 ++ .../org/apache/cassandra/service/StorageProxy.java | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7d0cdef/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index c7a9834..2cc9e5d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -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) http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7d0cdef/src/java/org/apache/cassandra/service/StorageProxy.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java index e78c175..296b11a 100644 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@ -702,7 +702,7 @@ public class StorageProxy implements StorageProxyMBean 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 StorageProxyMBean 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())
