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