You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2012/02/09 22:38:51 UTC

[2/3] git commit: avoid including non-queried nodes in rangeslice read repair patch by jbellis; reviewed by Vijay for CASSANDRA-3843

avoid including non-queried nodes in rangeslice read repair
patch by jbellis; reviewed by Vijay for CASSANDRA-3843


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e5be9520
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e5be9520
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e5be9520

Branch: refs/heads/trunk
Commit: e5be9520b7f9f7f18739f00d4f265a3a3e0adfe2
Parents: 0183dc0
Author: Jonathan Ellis <jb...@apache.org>
Authored: Wed Feb 8 22:28:47 2012 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu Feb 9 15:38:11 2012 -0600

----------------------------------------------------------------------
 CHANGES.txt                                        |    7 ++++---
 .../service/RangeSliceResponseResolver.java        |   10 +++++++---
 .../org/apache/cassandra/service/StorageProxy.java |    3 ++-
 3 files changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5be9520/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index fe04571..8b97c73 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -69,12 +69,13 @@
  * fix system tests (CASSANDRA-3827)
  * CQL support for altering key_validation_class in ALTER TABLE (CASSANDRA-3781)
  * turn compression on by default (CASSANDRA-3871)
-Merged from 1.0:
- * Only snapshot CF being compacted for snapshot_before_compaction 
-   (CASSANDRA-3803)
 
 
 1.0.8
+ * avoid including non-queried nodes in rangeslice read repair
+   (CASSANDRA-3843)
+ * Only snapshot CF being compacted for snapshot_before_compaction 
+   (CASSANDRA-3803)
  * Log active compactions in StatusLogger (CASSANDRA-3703)
  * Compute more accurate compaction score per level (CASSANDRA-3790)
  * Return InvalidRequest when using a keyspace that doesn't exist

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5be9520/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java b/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java
index 3be61d1..a870d5c 100644
--- a/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java
+++ b/src/java/org/apache/cassandra/service/RangeSliceResponseResolver.java
@@ -56,16 +56,20 @@ public class RangeSliceResponseResolver implements IResponseResolver<Iterable<Ro
     };
 
     private final String table;
-    private final List<InetAddress> sources;
+    private List<InetAddress> sources;
     protected final Collection<Message> responses = new LinkedBlockingQueue<Message>();;
     public final List<IAsyncResult> repairResults = new ArrayList<IAsyncResult>();
 
-    public RangeSliceResponseResolver(String table, List<InetAddress> sources)
+    public RangeSliceResponseResolver(String table)
     {
-        this.sources = sources;
         this.table = table;
     }
 
+    public void setSources(List<InetAddress> endpoints)
+    {
+        this.sources = endpoints;
+    }
+
     public List<Row> getData() throws IOException
     {
         Message response = responses.iterator().next();

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e5be9520/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 532992a..310836e 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -861,9 +861,10 @@ public class StorageProxy implements StorageProxyMBean
                 else
                 {
                     // collect replies and resolve according to consistency level
-                    RangeSliceResponseResolver resolver = new RangeSliceResponseResolver(nodeCmd.keyspace, liveEndpoints);
+                    RangeSliceResponseResolver resolver = new RangeSliceResponseResolver(nodeCmd.keyspace);
                     ReadCallback<Iterable<Row>> handler = getReadCallback(resolver, nodeCmd, consistency_level, liveEndpoints);
                     handler.assureSufficientLiveNodes();
+                    resolver.setSources(handler.endpoints);
                     for (InetAddress endpoint : handler.endpoints)
                     {
                         MessagingService.instance().sendRR(nodeCmd, endpoint, handler);