You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sn...@apache.org on 2017/03/28 07:48:07 UTC

[1/9] cassandra git commit: DataOutputBuffer.asNewBuffer broken

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 5262bb17b -> 6da41ed04
  refs/heads/cassandra-3.11 c0ac928d9 -> 52fc62f18
  refs/heads/trunk c86de2a98 -> a04776173


DataOutputBuffer.asNewBuffer broken

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-13298


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

Branch: refs/heads/cassandra-3.11
Commit: 62abe46c5efc47812899219f2e38af94c34fa49a
Parents: c0ac928
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:32:18 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:32:18 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                                      | 1 +
 src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java | 2 +-
 src/java/org/apache/cassandra/io/util/DataOutputBuffer.java      | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 98ed992..f3b27be 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.0
+ * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
  * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
  * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns (CASSANDRA-13247)
  * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern (CASSANDRA-13317)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
index b95a310..64d7dd1 100644
--- a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
+++ b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
@@ -274,7 +274,7 @@ public class PartitionUpdate extends AbstractBTreePartition
         try (DataOutputBuffer out = new DataOutputBuffer())
         {
             serializer.serialize(update, out, version);
-            return out.asNewBuffer();
+            return out.buffer();
         }
         catch (IOException e)
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
index 63f87ea..144edad 100644
--- a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
+++ b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
@@ -229,7 +229,7 @@ public class DataOutputBuffer extends BufferedDataOutputStreamPlus
 
     public ByteBuffer asNewBuffer()
     {
-        return ByteBuffer.wrap(getData(), 0, getLength());
+        return ByteBuffer.wrap(toByteArray());
     }
 
     public byte[] toByteArray()


[8/9] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

Posted by sn...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/cassandra-3.11
Commit: 52fc62f18f01336f9412509a7924b92278fe33df
Parents: 62abe46 6da41ed
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:36:47 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:37:05 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 ++++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/52fc62f1/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index f3b27be,0af7a7d..038befb
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
 -3.0.13
 +3.11.0
 + * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
 + * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
 + * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns (CASSANDRA-13247)
 + * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern (CASSANDRA-13317)
 + * Possible AssertionError in UnfilteredRowIteratorWithLowerBound (CASSANDRA-13366)
 + * Support unaligned memory access for AArch64 (CASSANDRA-13326)
 + * Improve SASI range iterator efficiency on intersection with an empty range (CASSANDRA-12915).
 + * Fix equality comparisons of columns using the duration type (CASSANDRA-13174)
 + * Obfuscate password in stress-graphs (CASSANDRA-12233)
 + * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034)
 + * nodetool stopdaemon errors out (CASSANDRA-13030)
 + * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954)
 + * Fix primary index calculation for SASI (CASSANDRA-12910)
 + * More fixes to the TokenAllocator (CASSANDRA-12990)
 + * NoReplicationTokenAllocator should work with zero replication factor (CASSANDRA-12983)
 + * Address message coalescing regression (CASSANDRA-12676)
 +Merged from 3.0:
+  * Fix code to not exchange schema across major versions (CASSANDRA-13274)
   * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
   * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
   * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/52fc62f1/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------


[5/9] cassandra git commit: Fix code to not exchange schema across major versions

Posted by sn...@apache.org.
Fix code to not exchange schema across major versions

patch by Robert Stupp; reviewed by Sylvain Lebresne for CASSANDRA-13274


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

Branch: refs/heads/trunk
Commit: 6da41ed047ed5ef8a5d11e7a60e73dfeb129a72a
Parents: 5262bb1
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:35:49 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:35:49 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 ++++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b1bb01..0af7a7d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix code to not exchange schema across major versions (CASSANDRA-13274)
  * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
  * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
  * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java
index e8095d3..4aaf49b 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -903,9 +903,6 @@ public final class MessagingService implements MessagingServiceMBean
      */
     public int setVersion(InetAddress endpoint, int version)
     {
-        // We can't talk to someone from the future
-        version = Math.min(version, current_version);
-
         logger.trace("Setting version {} for {}", version, endpoint);
 
         if (version < VERSION_22)
@@ -926,7 +923,7 @@ public final class MessagingService implements MessagingServiceMBean
     {
         logger.trace("Resetting version for {}", endpoint);
         Integer removed = versions.remove(endpoint);
-        if (removed != null && removed <= VERSION_30)
+        if (removed != null && Math.min(removed, current_version) <= VERSION_30)
             refreshAllNodeMinVersions();
     }
 
@@ -951,6 +948,10 @@ public final class MessagingService implements MessagingServiceMBean
         allNodesAtLeast30 = !anyNodeLowerThan30;
     }
 
+    /**
+     * Returns the messaging-version as announced by the given node but capped
+     * to the min of the version as announced by the node and {@link #current_version}.
+     */
     public int getVersion(InetAddress endpoint)
     {
         Integer v = versions.get(endpoint);
@@ -969,6 +970,9 @@ public final class MessagingService implements MessagingServiceMBean
         return getVersion(InetAddress.getByName(endpoint));
     }
 
+    /**
+     * Returns the messaging-version exactly as announced by the given endpoint.
+     */
     public int getRawVersion(InetAddress endpoint)
     {
         Integer v = versions.get(endpoint);


[4/9] cassandra git commit: Fix code to not exchange schema across major versions

Posted by sn...@apache.org.
Fix code to not exchange schema across major versions

patch by Robert Stupp; reviewed by Sylvain Lebresne for CASSANDRA-13274


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

Branch: refs/heads/cassandra-3.11
Commit: 6da41ed047ed5ef8a5d11e7a60e73dfeb129a72a
Parents: 5262bb1
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:35:49 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:35:49 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 ++++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b1bb01..0af7a7d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix code to not exchange schema across major versions (CASSANDRA-13274)
  * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
  * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
  * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java
index e8095d3..4aaf49b 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -903,9 +903,6 @@ public final class MessagingService implements MessagingServiceMBean
      */
     public int setVersion(InetAddress endpoint, int version)
     {
-        // We can't talk to someone from the future
-        version = Math.min(version, current_version);
-
         logger.trace("Setting version {} for {}", version, endpoint);
 
         if (version < VERSION_22)
@@ -926,7 +923,7 @@ public final class MessagingService implements MessagingServiceMBean
     {
         logger.trace("Resetting version for {}", endpoint);
         Integer removed = versions.remove(endpoint);
-        if (removed != null && removed <= VERSION_30)
+        if (removed != null && Math.min(removed, current_version) <= VERSION_30)
             refreshAllNodeMinVersions();
     }
 
@@ -951,6 +948,10 @@ public final class MessagingService implements MessagingServiceMBean
         allNodesAtLeast30 = !anyNodeLowerThan30;
     }
 
+    /**
+     * Returns the messaging-version as announced by the given node but capped
+     * to the min of the version as announced by the node and {@link #current_version}.
+     */
     public int getVersion(InetAddress endpoint)
     {
         Integer v = versions.get(endpoint);
@@ -969,6 +970,9 @@ public final class MessagingService implements MessagingServiceMBean
         return getVersion(InetAddress.getByName(endpoint));
     }
 
+    /**
+     * Returns the messaging-version exactly as announced by the given endpoint.
+     */
     public int getRawVersion(InetAddress endpoint)
     {
         Integer v = versions.get(endpoint);


[7/9] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

Posted by sn...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/trunk
Commit: 52fc62f18f01336f9412509a7924b92278fe33df
Parents: 62abe46 6da41ed
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:36:47 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:37:05 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 ++++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/52fc62f1/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index f3b27be,0af7a7d..038befb
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,5 +1,22 @@@
 -3.0.13
 +3.11.0
 + * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
 + * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
 + * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns (CASSANDRA-13247)
 + * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern (CASSANDRA-13317)
 + * Possible AssertionError in UnfilteredRowIteratorWithLowerBound (CASSANDRA-13366)
 + * Support unaligned memory access for AArch64 (CASSANDRA-13326)
 + * Improve SASI range iterator efficiency on intersection with an empty range (CASSANDRA-12915).
 + * Fix equality comparisons of columns using the duration type (CASSANDRA-13174)
 + * Obfuscate password in stress-graphs (CASSANDRA-12233)
 + * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034)
 + * nodetool stopdaemon errors out (CASSANDRA-13030)
 + * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954)
 + * Fix primary index calculation for SASI (CASSANDRA-12910)
 + * More fixes to the TokenAllocator (CASSANDRA-12990)
 + * NoReplicationTokenAllocator should work with zero replication factor (CASSANDRA-12983)
 + * Address message coalescing regression (CASSANDRA-12676)
 +Merged from 3.0:
+  * Fix code to not exchange schema across major versions (CASSANDRA-13274)
   * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
   * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
   * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/52fc62f1/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------


[3/9] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

Posted by sn...@apache.org.
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/35042eef
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/35042eef
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/35042eef

Branch: refs/heads/trunk
Commit: 35042eefea9f9ea79142f7b8d7159266ad84d283
Parents: c86de2a 62abe46
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:32:32 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:32:32 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                                      | 1 +
 src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java | 2 +-
 src/java/org/apache/cassandra/io/util/DataOutputBuffer.java      | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/35042eef/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 4482c98,f3b27be..23a9ef4
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,52 -1,5 +1,53 @@@
 +4.0
 + * Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
 + * Upgrade junit from 4.6 to 4.12 (CASSANDRA-13360)
 + * Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
 + * Incremental repair not streaming correct sstables (CASSANDRA-13328)
 + * Upgrade the jna version to 4.3.0 (CASSANDRA-13300)
 + * Add the currentTimestamp, currentDate, currentTime and currentTimeUUID functions (CASSANDRA-13132)
 + * Remove config option index_interval (CASSANDRA-10671)
 + * Reduce lock contention for collection types and serializers (CASSANDRA-13271)
 + * Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
 + * Avoid synchronized on prepareForRepair in ActiveRepairService (CASSANDRA-9292)
 + * Adds the ability to use uncompressed chunks in compressed files (CASSANDRA-10520)
 + * Don't flush sstables when streaming for incremental repair (CASSANDRA-13226)
 + * Remove unused method (CASSANDRA-13227)
 + * Fix minor bugs related to #9143 (CASSANDRA-13217)
 + * Output warning if user increases RF (CASSANDRA-13079)
 + * Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
 + * Add support for + and - operations on dates (CASSANDRA-11936)
 + * Fix consistency of incrementally repaired data (CASSANDRA-9143)
 + * Increase commitlog version (CASSANDRA-13161)
 + * Make TableMetadata immutable, optimize Schema (CASSANDRA-9425)
 + * Refactor ColumnCondition (CASSANDRA-12981)
 + * Parallelize streaming of different keyspaces (CASSANDRA-4663)
 + * Improved compactions metrics (CASSANDRA-13015)
 + * Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031)
 + * Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855)
 + * Thrift removal (CASSANDRA-11115)
 + * Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716)
 + * Add column definition kind to dropped columns in schema (CASSANDRA-12705)
 + * Add (automate) Nodetool Documentation (CASSANDRA-12672)
 + * Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
 + * Reject invalid replication settings when creating or altering a keyspace (CASSANDRA-12681)
 + * Clean up the SSTableReader#getScanner API wrt removal of RateLimiter (CASSANDRA-12422)
 + * Use new token allocation for non bootstrap case as well (CASSANDRA-13080)
 + * Avoid byte-array copy when key cache is disabled (CASSANDRA-13084)
 + * Require forceful decommission if number of nodes is less than replication factor (CASSANDRA-12510)
 + * Allow IN restrictions on column families with collections (CASSANDRA-12654)
 + * Log message size in trace message in OutboundTcpConnection (CASSANDRA-13028)
 + * Add timeUnit Days for cassandra-stress (CASSANDRA-13029)
 + * Add mutation size and batch metrics (CASSANDRA-12649)
 + * Add method to get size of endpoints to TokenMetadata (CASSANDRA-12999)
 + * Expose time spent waiting in thread pool queue (CASSANDRA-8398)
 + * Conditionally update index built status to avoid unnecessary flushes (CASSANDRA-12969)
 + * cqlsh auto completion: refactor definition of compaction strategy options (CASSANDRA-12946)
 + * Add support for arithmetic operators (CASSANDRA-11935)
 + * Add histogram for delay to deliver hints (CASSANDRA-13234)
 +
 +
  3.11.0
+  * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
   * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
   * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns (CASSANDRA-13247)
   * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern (CASSANDRA-13317)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/35042eef/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
----------------------------------------------------------------------


[6/9] cassandra git commit: Fix code to not exchange schema across major versions

Posted by sn...@apache.org.
Fix code to not exchange schema across major versions

patch by Robert Stupp; reviewed by Sylvain Lebresne for CASSANDRA-13274


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

Branch: refs/heads/cassandra-3.0
Commit: 6da41ed047ed5ef8a5d11e7a60e73dfeb129a72a
Parents: 5262bb1
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:35:49 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:35:49 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                             |  1 +
 src/java/org/apache/cassandra/net/MessagingService.java | 12 ++++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b1bb01..0af7a7d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * Fix code to not exchange schema across major versions (CASSANDRA-13274)
  * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
  * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
  * Fix CONTAINS filtering for null collections (CASSANDRA-13246)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6da41ed0/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java b/src/java/org/apache/cassandra/net/MessagingService.java
index e8095d3..4aaf49b 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -903,9 +903,6 @@ public final class MessagingService implements MessagingServiceMBean
      */
     public int setVersion(InetAddress endpoint, int version)
     {
-        // We can't talk to someone from the future
-        version = Math.min(version, current_version);
-
         logger.trace("Setting version {} for {}", version, endpoint);
 
         if (version < VERSION_22)
@@ -926,7 +923,7 @@ public final class MessagingService implements MessagingServiceMBean
     {
         logger.trace("Resetting version for {}", endpoint);
         Integer removed = versions.remove(endpoint);
-        if (removed != null && removed <= VERSION_30)
+        if (removed != null && Math.min(removed, current_version) <= VERSION_30)
             refreshAllNodeMinVersions();
     }
 
@@ -951,6 +948,10 @@ public final class MessagingService implements MessagingServiceMBean
         allNodesAtLeast30 = !anyNodeLowerThan30;
     }
 
+    /**
+     * Returns the messaging-version as announced by the given node but capped
+     * to the min of the version as announced by the node and {@link #current_version}.
+     */
     public int getVersion(InetAddress endpoint)
     {
         Integer v = versions.get(endpoint);
@@ -969,6 +970,9 @@ public final class MessagingService implements MessagingServiceMBean
         return getVersion(InetAddress.getByName(endpoint));
     }
 
+    /**
+     * Returns the messaging-version exactly as announced by the given endpoint.
+     */
     public int getRawVersion(InetAddress endpoint)
     {
         Integer v = versions.get(endpoint);


[2/9] cassandra git commit: DataOutputBuffer.asNewBuffer broken

Posted by sn...@apache.org.
DataOutputBuffer.asNewBuffer broken

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-13298


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

Branch: refs/heads/trunk
Commit: 62abe46c5efc47812899219f2e38af94c34fa49a
Parents: c0ac928
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:32:18 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:32:18 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                                      | 1 +
 src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java | 2 +-
 src/java/org/apache/cassandra/io/util/DataOutputBuffer.java      | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 98ed992..f3b27be 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.11.0
+ * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
  * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
  * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns (CASSANDRA-13247)
  * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern (CASSANDRA-13317)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
index b95a310..64d7dd1 100644
--- a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
+++ b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
@@ -274,7 +274,7 @@ public class PartitionUpdate extends AbstractBTreePartition
         try (DataOutputBuffer out = new DataOutputBuffer())
         {
             serializer.serialize(update, out, version);
-            return out.asNewBuffer();
+            return out.buffer();
         }
         catch (IOException e)
         {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/62abe46c/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
index 63f87ea..144edad 100644
--- a/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
+++ b/src/java/org/apache/cassandra/io/util/DataOutputBuffer.java
@@ -229,7 +229,7 @@ public class DataOutputBuffer extends BufferedDataOutputStreamPlus
 
     public ByteBuffer asNewBuffer()
     {
-        return ByteBuffer.wrap(getData(), 0, getLength());
+        return ByteBuffer.wrap(toByteArray());
     }
 
     public byte[] toByteArray()


[9/9] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

Posted by sn...@apache.org.
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/a0477617
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a0477617
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a0477617

Branch: refs/heads/trunk
Commit: a04776173a70dac66de939a26ea50544d5a45986
Parents: 35042ee 52fc62f
Author: Robert Stupp <sn...@snazy.de>
Authored: Tue Mar 28 09:46:07 2017 +0200
Committer: Robert Stupp <sn...@snazy.de>
Committed: Tue Mar 28 09:47:27 2017 +0200

----------------------------------------------------------------------
 CHANGES.txt                                             | 1 +
 NEWS.txt                                                | 2 ++
 src/java/org/apache/cassandra/net/MessagingService.java | 9 +++++++--
 3 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0477617/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0477617/NEWS.txt
----------------------------------------------------------------------
diff --cc NEWS.txt
index cfb48e2,4c2e217..9048121
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,39 -13,6 +13,41 @@@ restore snapshots created with the prev
  'sstableloader' tool. You can upgrade the file format of your snapshots
  using the provided 'sstableupgrade' tool.
  
 +4.0
 +===
 +
 +New features
 +------------
 +   - The currentTimestamp, currentDate, currentTime and currentTimeUUID functions have been added.
 +     See CASSANDRA-13132
 +   - Support for arithmetic operations between `timestamp`/`date` and `duration` has been added.
 +     See CASSANDRA-11936
 +   - Support for arithmetic operations on number has been added. See CASSANDRA-11935
 +
 +Upgrading
 +---------
 +    - Cassandra 4.0 removed support for the deprecated Thrift interface. Amongst
 +      Tother things, this imply the removal of all yaml option related to thrift
 +      ('start_rpc', rpc_port, ...).
 +    - Cassandra 4.0 removed support for any pre-3.0 format. This means you
 +      cannot upgrade from a 2.x version to 4.0 directly, you have to upgrade to
 +      a 3.0.x/3.x version first (and run upgradesstable). In particular, this
 +      mean Cassandra 4.0 cannot load or read pre-3.0 sstables in any way: you
 +      will need to upgrade those sstable in 3.0.x/3.x first.
++    - Upgrades from 3.0.x or 3.x are supported since 3.0.13 or 3.11.0, previous
++      versions will causes issues during rolling upgrades (CASSANDRA-13274).
 +    - Cassandra will no longer allow invalid keyspace replication options, such
 +      as invalid datacenter names for NetworkTopologyStrategy. Operators MUST
 +      add new nodes to a datacenter before they can set set ALTER or CREATE
 +      keyspace replication policies using that datacenter. Existing keyspaces
 +      will continue to operate, but CREATE and ALTER will validate that all
 +      datacenters specified exist in the cluster.
 +    - Cassandra 4.0 fixes a problem with incremental repair which caused repaired
 +      data to be inconsistent between nodes. The fix changes the behavior of both
 +      full and incremental repairs. For full repairs, data is no longer marked
 +      repaired. For incremental repairs, anticompaction is run at the beginning
 +      of the repair, instead of at the end.
 +    - Config option index_interval has been removed (it was deprecated since 2.0)
  
  3.11.0
  ======

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a0477617/src/java/org/apache/cassandra/net/MessagingService.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/net/MessagingService.java
index b7d4329,0e81c06..b3e7b61
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@@ -1122,20 -1071,55 +1122,22 @@@ public final class MessagingService imp
       */
      public int setVersion(InetAddress endpoint, int version)
      {
-         // We can't talk to someone from the future
-         version = Math.min(version, current_version);
          logger.trace("Setting version {} for {}", version, endpoint);
  
 -        if (version < VERSION_22)
 -            allNodesAtLeast22 = false;
 -        if (version < VERSION_30)
 -            allNodesAtLeast30 = false;
 -
          Integer v = versions.put(endpoint, version);
 -
 -        // if the version was increased to 2.2 or later see if the min version across the cluster has changed
 -        if (v != null && (v < VERSION_30 && version >= VERSION_22))
 -            refreshAllNodeMinVersions();
 -
          return v == null ? version : v;
      }
  
      public void resetVersion(InetAddress endpoint)
      {
          logger.trace("Resetting version for {}", endpoint);
 -        Integer removed = versions.remove(endpoint);
 -        if (removed != null && Math.min(removed, current_version) <= VERSION_30)
 -            refreshAllNodeMinVersions();
 -    }
 -
 -    private void refreshAllNodeMinVersions()
 -    {
 -        boolean anyNodeLowerThan30 = false;
 -        for (Integer version : versions.values())
 -        {
 -            if (version < MessagingService.VERSION_30)
 -            {
 -                anyNodeLowerThan30 = true;
 -                allNodesAtLeast30 = false;
 -            }
 -
 -            if (version < MessagingService.VERSION_22)
 -            {
 -                allNodesAtLeast22 = false;
 -                return;
 -            }
 -        }
 -        allNodesAtLeast22 = true;
 -        allNodesAtLeast30 = !anyNodeLowerThan30;
 +        versions.remove(endpoint);
      }
  
+     /**
+      * Returns the messaging-version as announced by the given node but capped
+      * to the min of the version as announced by the node and {@link #current_version}.
+      */
      public int getVersion(InetAddress endpoint)
      {
          Integer v = versions.get(endpoint);