You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2015/11/06 00:44:41 UTC

cassandra git commit: Fix bootstrapping with MVs

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 f3eb4ce40 -> 02a53fa2b


Fix bootstrapping with MVs

patch by Joel Knighton; reviewed by Carl Yeksigian for CASSANDRA-10621


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

Branch: refs/heads/cassandra-3.0
Commit: 02a53fa2b7a378683683366576d329eab7d5f963
Parents: f3eb4ce
Author: Joel Knighton <jo...@datastax.com>
Authored: Thu Oct 29 21:37:08 2015 -0500
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Thu Nov 5 23:43:16 2015 +0000

----------------------------------------------------------------------
 CHANGES.txt                                               |  1 +
 src/java/org/apache/cassandra/service/StorageProxy.java   |  2 +-
 src/java/org/apache/cassandra/service/StorageService.java | 10 ++++++++++
 3 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/02a53fa2/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 1dd1ed2..6873edd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Fix bootstrapping with MVs (CASSANDRA-10621)
  * Make sure EACH_QUORUM reads are using NTS (CASSANDRA-10584)
  * Fix MV replica filtering for non-NetworkTopologyStrategy (CASSANDRA-10634)
  * (Hadoop) fix CIF describeSplits() not handling 0 size estimates (CASSANDRA-10600)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/02a53fa2/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 4986a26..6bcc2f8 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -667,7 +667,7 @@ public class StorageProxy implements StorageProxyMBean
             // if we haven't joined the ring, write everything to batchlog because paired replicas may be stale
             final UUID batchUUID = UUIDGen.getTimeUUID();
 
-            if (!Gossiper.instance.isEnabled())
+            if (StorageService.instance.isStarting() || StorageService.instance.isJoining() || StorageService.instance.isMoving())
             {
                 BatchlogManager.store(Batch.createLocal(batchUUID, FBUtilities.timestampMicros(),
                                                         mutations),

http://git-wip-us.apache.org/repos/asf/cassandra/blob/02a53fa2/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index 75c2fd9..3701e28 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3869,6 +3869,16 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
         return operationMode == Mode.STARTING;
     }
 
+    public boolean isMoving()
+    {
+        return operationMode == Mode.MOVING;
+    }
+
+    public boolean isJoining()
+    {
+        return operationMode == Mode.JOINING;
+    }
+
     public String getDrainProgress()
     {
         return String.format("Drained %s/%s ColumnFamilies", remainingCFs, totalCFs);