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 2017/08/01 14:41:25 UTC

[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

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/92d1cfec
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/92d1cfec
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/92d1cfec

Branch: refs/heads/trunk
Commit: 92d1cfec24f873d3ecea6c2591b8686284b915f8
Parents: 99196cb ba71289
Author: Aleksey Yeschenko <al...@yeschenko.com>
Authored: Tue Aug 1 15:34:00 2017 +0100
Committer: Aleksey Yeschenko <al...@yeschenko.com>
Committed: Tue Aug 1 15:34:00 2017 +0100

----------------------------------------------------------------------
 CHANGES.txt                                     |  2 +
 .../apache/cassandra/cql3/UpdateParameters.java |  7 ++-
 .../org/apache/cassandra/db/LegacyLayout.java   | 23 ++++++---
 .../cassandra/db/context/CounterContext.java    | 52 ++++++++++++++------
 .../cassandra/thrift/CassandraServer.java       |  4 +-
 .../org/apache/cassandra/utils/CounterId.java   |  3 +-
 .../db/context/CounterContextTest.java          | 34 ++++++++++++-
 7 files changed, 97 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/92d1cfec/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 9c595fc,4038ac7..3f8a316
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,9 -1,5 +1,10 @@@
 -3.0.15
 +3.11.1
 + * "ignore" option is ignored in sstableloader (CASSANDRA-13721)
 + * Deadlock in AbstractCommitLogSegmentManager (CASSANDRA-13652)
 + * Duplicate the buffer before passing it to analyser in SASI operation (CASSANDRA-13512)
 + * Properly evict pstmts from prepared statements cache (CASSANDRA-13641)
 +Merged from 3.0:
+  * Fix incorrect [2.1 <- 3.0] serialization of counter cells created in 2.0 (CASSANDRA-13691)
   * Fix invalid writetime for null cells (CASSANDRA-13711)
   * Fix ALTER TABLE statement to atomically propagate changes to the table and its MVs (CASSANDRA-12952)
   * Fixed ambiguous output of nodetool tablestats command (CASSANDRA-13722)
@@@ -22,46 -20,8 +23,47 @@@ Merged from 2.2
  Merged from 2.1:
   * Clone HeartBeatState when building gossip messages. Make its generation/version volatile (CASSANDRA-13700)
  
+ 
 -3.0.14
 +3.11.0
 + * Allow native function calls in CQLSSTableWriter (CASSANDRA-12606)
 + * Replace string comparison with regex/number checks in MessagingService test (CASSANDRA-13216)
 + * Fix formatting of duration columns in CQLSH (CASSANDRA-13549)
 + * Fix the problem with duplicated rows when using paging with SASI (CASSANDRA-13302)
 + * Allow CONTAINS statements filtering on the partition key and it’s parts (CASSANDRA-13275)
 + * Fall back to even ranges calculation in clusters with vnodes when tokens are distributed unevenly (CASSANDRA-13229)
 + * Fix duration type validation to prevent overflow (CASSANDRA-13218)
 + * Forbid unsupported creation of SASI indexes over partition key columns (CASSANDRA-13228)
 + * Reject multiple values for a key in CQL grammar. (CASSANDRA-13369)
 + * UDA fails without input rows (CASSANDRA-13399)
 + * Fix compaction-stress by using daemonInitialization (CASSANDRA-13188)
 + * V5 protocol flags decoding broken (CASSANDRA-13443)
 + * Use write lock not read lock for removing sstables from compaction strategies. (CASSANDRA-13422)
 + * Use corePoolSize equal to maxPoolSize in JMXEnabledThreadPoolExecutors (CASSANDRA-13329)
 + * Avoid rebuilding SASI indexes containing no values (CASSANDRA-12962)
 + * Add charset to Analyser input stream (CASSANDRA-13151)
 + * Fix testLimitSSTables flake caused by concurrent flush (CASSANDRA-12820)
 + * cdc column addition strikes again (CASSANDRA-13382)
 + * Fix static column indexes (CASSANDRA-13277)
 + * 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)
 + * Delete illegal character from StandardTokenizerImpl.jflex (CASSANDRA-13417)
 + * Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
 + * Tracing payload not passed from QueryMessage to tracing session (CASSANDRA-12835)
 +Merged from 3.0:
   * Ensure int overflow doesn't occur when calculating large partition warning size (CASSANDRA-13172)
   * Ensure consistent view of partition columns between coordinator and replica in ColumnFilter (CASSANDRA-13004)
   * Failed unregistering mbean during drop keyspace (CASSANDRA-13346)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/92d1cfec/src/java/org/apache/cassandra/cql3/UpdateParameters.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/cql3/UpdateParameters.java
index 88ffedd,8ff5344..25f04fb
--- a/src/java/org/apache/cassandra/cql3/UpdateParameters.java
+++ b/src/java/org/apache/cassandra/cql3/UpdateParameters.java
@@@ -167,7 -167,10 +167,10 @@@ public class UpdateParameter
          // shard is due to the merging rules: if a user includes multiple updates to the same counter in a batch, those
          // multiple updates will be merged in the PartitionUpdate *before* they even reach CounterMutation. So we need
          // such update to be added together, and that's what a local shard gives us.
-         builder.addCell(BufferCell.live(column, timestamp, CounterContext.instance().createLocal(increment)));
+         //
+         // We set counterid to a special value to differentiate between regular pre-2.0 local shards from pre-2.1 era
+         // and "counter update" temporary state cells. Please see CounterContext.createUpdate() for further details.
 -        builder.addCell(BufferCell.live(metadata, column, timestamp, CounterContext.instance().createUpdate(increment)));
++        builder.addCell(BufferCell.live(column, timestamp, CounterContext.instance().createUpdate(increment)));
      }
  
      public void setComplexDeletionTime(ColumnDefinition column)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/92d1cfec/src/java/org/apache/cassandra/db/LegacyLayout.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/92d1cfec/src/java/org/apache/cassandra/thrift/CassandraServer.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/thrift/CassandraServer.java
index 04a3e66,86caac3..e71f512
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@@ -2195,9 -2169,9 +2195,9 @@@ public class CassandraServer implement
                  LegacyLayout.LegacyCellName name = LegacyLayout.decodeCellName(metadata, column_parent.super_column, column.name);
  
                  // See UpdateParameters.addCounter() for more details on this
-                 ByteBuffer value = CounterContext.instance().createLocal(column.value);
+                 ByteBuffer value = CounterContext.instance().createUpdate(column.value);
                  CellPath path = name.collectionElement == null ? null : CellPath.create(name.collectionElement);
 -                Cell cell = BufferCell.live(metadata, name.column, FBUtilities.timestampMicros(), value, path);
 +                Cell cell = BufferCell.live(name.column, FBUtilities.timestampMicros(), value, path);
  
                  PartitionUpdate update = PartitionUpdate.singleRowUpdate(metadata, key, BTreeRow.singleCellRow(name.clustering, cell));
  

http://git-wip-us.apache.org/repos/asf/cassandra/blob/92d1cfec/test/unit/org/apache/cassandra/db/context/CounterContextTest.java
----------------------------------------------------------------------


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