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 01:06:17 UTC

cassandra git commit: Do not run SizeEstimatesRecorder if a node is not a member of the ring

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 b6015fa48 -> 2ca759902


Do not run SizeEstimatesRecorder if a node is not a member of the ring

patch by Paulo Motta; reviewed by Joel Knighton for CASSANDRA-9912


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

Branch: refs/heads/cassandra-2.1
Commit: 2ca7599023a1e507f263b0c4854ab26b3ba283ac
Parents: b6015fa
Author: Paulo Motta <pa...@gmail.com>
Authored: Thu Oct 29 12:03:21 2015 -0700
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Fri Nov 6 00:00:38 2015 +0000

----------------------------------------------------------------------
 CHANGES.txt                                         |  1 +
 .../apache/cassandra/db/SizeEstimatesRecorder.java  |  5 +++--
 .../org/apache/cassandra/db/SystemKeyspace.java     | 16 ----------------
 .../apache/cassandra/service/StorageService.java    |  5 +----
 4 files changed, 5 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ca75990/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 5ceabb4..a994ca1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.12
+ * Do not run SizeEstimatesRecorder if a node is not a member of the ring (CASSANDRA-9912)
  * Improve handling of dead nodes in gossip (CASSANDRA-10298)
  * Fix logback-tools.xml incorrectly configured for outputing to System.err
    (CASSANDRA-9937)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ca75990/src/java/org/apache/cassandra/db/SizeEstimatesRecorder.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SizeEstimatesRecorder.java b/src/java/org/apache/cassandra/db/SizeEstimatesRecorder.java
index 13d9c60..fe4ebd3 100644
--- a/src/java/org/apache/cassandra/db/SizeEstimatesRecorder.java
+++ b/src/java/org/apache/cassandra/db/SizeEstimatesRecorder.java
@@ -29,6 +29,7 @@ import org.apache.cassandra.io.sstable.SSTableReader;
 import org.apache.cassandra.service.MigrationListener;
 import org.apache.cassandra.service.MigrationManager;
 import org.apache.cassandra.service.StorageService;
+import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.Pair;
 import org.apache.cassandra.utils.concurrent.Refs;
 
@@ -55,9 +56,9 @@ public class SizeEstimatesRecorder extends MigrationListener implements Runnable
 
     public void run()
     {
-        if (StorageService.instance.isStarting())
+        if (!StorageService.instance.getTokenMetadata().isMember(FBUtilities.getBroadcastAddress()))
         {
-            logger.debug("Node has not yet joined; not recording size estimates");
+            logger.debug("Node is not part of the ring; not recording size estimates");
             return;
         }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ca75990/src/java/org/apache/cassandra/db/SystemKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java b/src/java/org/apache/cassandra/db/SystemKeyspace.java
index 54fdb47..c600652 100644
--- a/src/java/org/apache/cassandra/db/SystemKeyspace.java
+++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java
@@ -462,22 +462,6 @@ public class SystemKeyspace
         forceBlockingFlush(LOCAL_CF);
     }
 
-    /**
-     * Convenience method to update the list of tokens in the local system keyspace.
-     *
-     * @param addTokens tokens to add
-     * @param rmTokens tokens to remove
-     * @return the collection of persisted tokens
-     */
-    public static synchronized Collection<Token> updateLocalTokens(Collection<Token> addTokens, Collection<Token> rmTokens)
-    {
-        Collection<Token> tokens = getSavedTokens();
-        tokens.removeAll(rmTokens);
-        tokens.addAll(addTokens);
-        updateTokens(tokens);
-        return tokens;
-    }
-
     public static void forceBlockingFlush(String cfname)
     {
         if (!Boolean.getBoolean("cassandra.unsafesystem"))

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2ca75990/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 d02a572..af3a00c 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1687,7 +1687,6 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
 
         Set<Token> tokensToUpdateInMetadata = new HashSet<>();
         Set<Token> tokensToUpdateInSystemKeyspace = new HashSet<>();
-        Set<Token> localTokensToRemove = new HashSet<>();
         Set<InetAddress> endpointsToRemove = new HashSet<>();
 
 
@@ -1790,9 +1789,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
                 Gossiper.instance.replacementQuarantine(ep); // quarantine locally longer than normally; see CASSANDRA-8260
         }
         if (!tokensToUpdateInSystemKeyspace.isEmpty())
-            SystemKeyspace.updateTokens(endpoint, tokensToUpdateInSystemKeyspace);
-        if (!localTokensToRemove.isEmpty())
-            SystemKeyspace.updateLocalTokens(Collections.<Token>emptyList(), localTokensToRemove);
+            SystemKeyspace.updateTokens(endpoint, tokensToUpdateInSystemKeyspace);;
 
         if (isMoving || operationMode == Mode.MOVING)
         {