Merge branch 'cassandra-3.11' into trunk

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

Branch: refs/heads/trunk
Commit: 9fecf947729e6113a79cd8069a52082b4c335629
Parents: 71a27ee 32f9e67
Author: Aleksey Yeshchenko <alek...@apple.com>
Authored: Mon Apr 30 18:52:43 2018 +0100
Committer: Aleksey Yeshchenko <alek...@apple.com>
Committed: Mon Apr 30 18:52:43 2018 +0100

----------------------------------------------------------------------
 CHANGES.txt                                     |   1 +
 .../apache/cassandra/hints/HintsCatalog.java    |   7 ++
 .../apache/cassandra/hints/HintsService.java    |   2 +-
 .../org/apache/cassandra/hints/HintsStore.java  |   7 ++
 .../cassandra/service/StorageService.java       |   7 +-
 .../cassandra/hints/HintsCatalogTest.java       | 119 ++++++++++++++++++-
 6 files changed, 137 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 15c2c2e,c392059..33c81d1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -245,6 -10,9 +245,7 @@@
   * RateBasedBackPressure unnecessarily invokes a lock on the Guava 
RateLimiter (CASSANDRA-14163)
   * Fix wildcard GROUP BY queries (CASSANDRA-14209)
  Merged from 3.0:
+  * Delay hints store excise by write timeout to avoid race with decommission 
(CASSANDRA-13740)
 - * Deprecate background repair and probablistic read_repair_chance table 
options
 -   (CASSANDRA-13910)
   * Add missed CQL keywords to documentation (CASSANDRA-14359)
   * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 
(CASSANDRA-14332)
   * Avoid deadlock when running nodetool refresh before node is fully up 
(CASSANDRA-14310)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/src/java/org/apache/cassandra/hints/HintsService.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/src/java/org/apache/cassandra/hints/HintsStore.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/hints/HintsStore.java
index bbf57f5,032de5a..9f95884
--- a/src/java/org/apache/cassandra/hints/HintsStore.java
+++ b/src/java/org/apache/cassandra/hints/HintsStore.java
@@@ -77,7 -78,13 +78,13 @@@ final class HintsStor
          return new HintsStore(hostId, hintsDirectory, writerParams, 
descriptors);
      }
  
+     @VisibleForTesting
+     int getDispatchQueueSize()
+     {
+         return dispatchDequeue.size();
+     }
+ 
 -    InetAddress address()
 +    InetAddressAndPort address()
      {
          return StorageService.instance.getEndpointForHostId(hostId);
      }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9fecf947/test/unit/org/apache/cassandra/hints/HintsCatalogTest.java
----------------------------------------------------------------------
diff --cc test/unit/org/apache/cassandra/hints/HintsCatalogTest.java
index a255338,68acd0c..92cfc71
--- a/test/unit/org/apache/cassandra/hints/HintsCatalogTest.java
+++ b/test/unit/org/apache/cassandra/hints/HintsCatalogTest.java
@@@ -23,6 -24,13 +24,12 @@@ import java.nio.file.Files
  import java.util.*;
  
  import com.google.common.collect.ImmutableMap;
+ import org.apache.cassandra.SchemaLoader;
 -import org.apache.cassandra.config.Schema;
+ import org.apache.cassandra.db.Mutation;
 -import org.apache.cassandra.db.RowUpdateBuilder;
+ import org.apache.cassandra.schema.KeyspaceParams;
++import org.apache.cassandra.schema.Schema;
+ import org.apache.cassandra.utils.FBUtilities;
+ import org.junit.BeforeClass;
  import org.junit.Test;
  
  import static junit.framework.Assert.*;
@@@ -117,4 -190,43 +189,43 @@@ public class HintsCatalogTes
          {
          }
      }
+ 
+     private static Mutation createMutation(String key, long now)
+     {
+         Mutation.SimpleBuilder builder = Mutation.simpleBuilder(KEYSPACE, 
dk(key));
+ 
 -        builder.update(Schema.instance.getCFMetaData(KEYSPACE, TABLE0))
++        builder.update(Schema.instance.getTableMetadata(KEYSPACE, TABLE0))
+                .timestamp(now)
+                .row("column0")
+                .add("val", "value0");
+ 
 -        builder.update(Schema.instance.getCFMetaData(KEYSPACE, TABLE1))
++        builder.update(Schema.instance.getTableMetadata(KEYSPACE, TABLE1))
+                .timestamp(now + 1)
+                .row("column1")
+                .add("val", "value1");
+ 
 -        builder.update(Schema.instance.getCFMetaData(KEYSPACE, TABLE2))
++        builder.update(Schema.instance.getTableMetadata(KEYSPACE, TABLE2))
+                .timestamp(now + 2)
+                .row("column2")
+                .add("val", "value2");
+ 
+         return builder.build();
+     }
+ 
+     @SuppressWarnings("EmptyTryBlock")
+     private static void createHintFile(File directory, HintsDescriptor 
descriptor) throws IOException
+     {
+         try (HintsWriter writer = HintsWriter.create(directory, descriptor))
+         {
+             ByteBuffer writeBuffer = 
ByteBuffer.allocateDirect(WRITE_BUFFER_SIZE);
+             try (HintsWriter.Session session = writer.newSession(writeBuffer))
+             {
+                 long now = FBUtilities.timestampMicros();
+                 Mutation mutation = createMutation("testSerializer", now);
+                 Hint hint = Hint.create(mutation, now / 1000);
+ 
+                 session.append(hint);
+             }
+         }
+     }
  }


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

Reply via email to