You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sa...@apache.org on 2019/06/03 15:05:04 UTC

[cassandra] branch cassandra-3.11 updated (60bdfb1 -> 8db0d84)

This is an automated email from the ASF dual-hosted git repository.

samt pushed a change to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


    from 60bdfb1  Fix cassandra-env.sh to use $CASSANDRA_CONF to find cassandra-jaas.config
     new e4b5d98  Update token metadata for non-normal state changes
     new 8db0d84  Merge branch 'cassandra-3.0' into cassandra-3.11

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt                                        |   1 +
 .../apache/cassandra/concurrent/SEPExecutor.java   |  10 +-
 .../org/apache/cassandra/concurrent/SEPWorker.java |  33 ++---
 .../cassandra/concurrent/SharedExecutorPool.java   |   8 +-
 .../apache/cassandra/concurrent/StageManager.java  |   2 +-
 .../org/apache/cassandra/net/MessagingService.java |  10 ++
 .../apache/cassandra/service/StorageService.java   | 165 ++++++++++++---------
 .../org/apache/cassandra/utils/ExpiringMap.java    |   5 +
 .../org/apache/cassandra/distributed/Cluster.java  |  18 ++-
 .../cassandra/distributed/UpgradeableCluster.java  |  12 +-
 .../apache/cassandra/distributed/api/Feature.java  |   6 +-
 .../cassandra/distributed/api/IInstance.java       |   5 +-
 .../distributed/impl/AbstractCluster.java          |  58 ++++++--
 .../impl/DelegatingInvokableInstance.java          |   6 +-
 .../cassandra/distributed/impl/Instance.java       |  46 ++++--
 .../distributed/impl/InstanceClassLoader.java      |   2 +-
 .../distributed/test/DistributedTestBase.java      |   1 +
 .../cassandra/distributed/test/GossipTest.java     | 113 ++++++++++++++
 .../cassandra/concurrent/SEPExecutorTest.java      |   2 +-
 .../org/apache/cassandra/service/MoveTest.java     |  11 +-
 20 files changed, 374 insertions(+), 140 deletions(-)
 copy src/java/org/apache/cassandra/cache/IRowCacheEntry.java => test/distributed/org/apache/cassandra/distributed/api/Feature.java (90%)
 create mode 100644 test/distributed/org/apache/cassandra/distributed/test/GossipTest.java


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


[cassandra] 01/01: Merge branch 'cassandra-3.0' into cassandra-3.11

Posted by sa...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

samt pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 8db0d84439c3209bc0da0c9a0b9730fb8b26a328
Merge: 60bdfb1 e4b5d98
Author: Sam Tunnicliffe <sa...@beobal.com>
AuthorDate: Mon Jun 3 15:59:51 2019 +0100

    Merge branch 'cassandra-3.0' into cassandra-3.11

 CHANGES.txt                                        |   1 +
 .../apache/cassandra/concurrent/SEPExecutor.java   |  10 +-
 .../org/apache/cassandra/concurrent/SEPWorker.java |  33 ++---
 .../cassandra/concurrent/SharedExecutorPool.java   |   8 +-
 .../apache/cassandra/concurrent/StageManager.java  |   2 +-
 .../org/apache/cassandra/net/MessagingService.java |  10 ++
 .../apache/cassandra/service/StorageService.java   | 165 ++++++++++++---------
 .../org/apache/cassandra/utils/ExpiringMap.java    |   5 +
 .../org/apache/cassandra/distributed/Cluster.java  |  18 ++-
 .../cassandra/distributed/UpgradeableCluster.java  |  12 +-
 .../apache/cassandra/distributed/api/Feature.java  |  24 +++
 .../cassandra/distributed/api/IInstance.java       |   5 +-
 .../distributed/impl/AbstractCluster.java          |  58 ++++++--
 .../impl/DelegatingInvokableInstance.java          |   6 +-
 .../cassandra/distributed/impl/Instance.java       |  46 ++++--
 .../distributed/impl/InstanceClassLoader.java      |   2 +-
 .../distributed/test/DistributedTestBase.java      |   1 +
 .../cassandra/distributed/test/GossipTest.java     | 113 ++++++++++++++
 .../cassandra/concurrent/SEPExecutorTest.java      |   2 +-
 .../org/apache/cassandra/service/MoveTest.java     |  11 +-
 20 files changed, 394 insertions(+), 138 deletions(-)

diff --cc CHANGES.txt
index 59c89b7,36eb9c2..ff985bd
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,8 -1,5 +1,9 @@@
 -3.0.19
 +3.11.5
 + * Fix cassandra-env.sh to use $CASSANDRA_CONF to find cassandra-jaas.config (CASSANDRA-14305)
 + * Fixed nodetool cfstats printing index name twice (CASSANDRA-14903)
 + * Add flag to disable SASI indexes, and warnings on creation (CASSANDRA-14866)
 +Merged from 3.0:
+  * Update token metadata when handling MOVING/REMOVING_TOKEN events (CASSANDRA-15120)
   * Add ability to customize cassandra log directory using $CASSANDRA_LOG_DIR (CASSANDRA-15090)
   * Skip cells with illegal column names when reading legacy sstables (CASSANDRA-15086)
   * Fix assorted gossip races and add related runtime checks (CASSANDRA-15059)
diff --cc src/java/org/apache/cassandra/service/StorageService.java
index e64cbaa,4769b22..c340db6
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@@ -764,15 -715,11 +764,16 @@@ public class StorageService extends Not
  
      private boolean shouldBootstrap()
      {
 -        return DatabaseDescriptor.isAutoBootstrap() && !SystemKeyspace.bootstrapComplete() && !DatabaseDescriptor.getSeeds().contains(FBUtilities.getBroadcastAddress());
 +        return DatabaseDescriptor.isAutoBootstrap() && !SystemKeyspace.bootstrapComplete() && !isSeed();
 +    }
 +
 +    public static boolean isSeed()
 +    {
 +        return DatabaseDescriptor.getSeeds().contains(FBUtilities.getBroadcastAddress());
      }
  
-     private void prepareToJoin() throws ConfigurationException
+     @VisibleForTesting
+     public void prepareToJoin() throws ConfigurationException
      {
          if (!joined)
          {
@@@ -852,31 -788,9 +853,32 @@@
          }
      }
  
 +    public void waitForSchema(int delay)
 +    {
 +        // first sleep the delay to make sure we see all our peers
 +        for (int i = 0; i < delay; i += 1000)
 +        {
 +            // if we see schema, we can proceed to the next check directly
 +            if (!Schema.instance.getVersion().equals(SchemaConstants.emptyVersion))
 +            {
 +                logger.debug("got schema: {}", Schema.instance.getVersion());
 +                break;
 +            }
 +            Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS);
 +        }
 +        // if our schema hasn't matched yet, wait until it has
 +        // we do this by waiting for all in-flight migration requests and responses to complete
 +        // (post CASSANDRA-1391 we don't expect this to be necessary very often, but it doesn't hurt to be careful)
 +        if (!MigrationManager.isReadyForBootstrap())
 +        {
 +            setMode(Mode.JOINING, "waiting for schema information to complete", true);
 +            MigrationManager.waitUntilReadyForBootstrap();
 +        }
 +    }
 +
-     private void joinTokenRing(int delay) throws ConfigurationException
-     {
+     @VisibleForTesting
+     public void joinTokenRing(int delay) throws ConfigurationException
 -    {
++{
          joined = true;
  
          // We bootstrap if we haven't successfully bootstrapped before, as long as we are not a seed.
diff --cc test/distributed/org/apache/cassandra/distributed/impl/Instance.java
index 382388b,1b385fb..f209d53
--- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java
+++ b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java
@@@ -99,6 -99,10 +100,10 @@@ public class Instance extends IsolatedE
          this.config = config;
          InstanceIDDefiner.setInstanceId(config.num());
          FBUtilities.setBroadcastInetAddress(config.broadcastAddressAndPort().address);
+         acceptsOnInstance((IInstanceConfig override) -> {
+             Config.setOverrideLoadConfig(() -> loadConfig(override));
 -            DatabaseDescriptor.setDaemonInitialized();
++            DatabaseDescriptor.daemonInitialization();
+         }).accept(config);
      }
  
      public IInstanceConfig config()
@@@ -288,8 -294,17 +295,17 @@@
                      throw new RuntimeException(e);
                  }
  
-                 initializeRing(cluster);
-                 registerMockMessaging(cluster);
+                 // TODO: support each separately
+                 if (with.contains(Feature.GOSSIP) || with.contains(Feature.NETWORK))
+                 {
+                     StorageService.instance.prepareToJoin();
 -                    StorageService.instance.joinTokenRing(1000);
++                    StorageService.instance.joinTokenRing(5000);
+                 }
+                 else
+                 {
+                     initializeRing(cluster);
+                     registerMockMessaging(cluster);
+                 }
  
                  SystemKeyspace.finishStartup();
  


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org