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())

Reply via email to