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

Branch: refs/heads/cassandra-3.11
Commit: c3d3e1ad42a6774515626c9ba46385011679a150
Parents: 8fcf837 5918375
Author: Sam Tunnicliffe <s...@beobal.com>
Authored: Fri Mar 17 11:08:52 2017 +0000
Committer: Sam Tunnicliffe <s...@beobal.com>
Committed: Fri Mar 17 11:08:52 2017 +0000

----------------------------------------------------------------------
 CHANGES.txt                                        | 1 +
 src/java/org/apache/cassandra/db/LegacyLayout.java | 4 ++++
 2 files changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3d3e1ad/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 7ea50db,2017b78..24e8c5f
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,18 -1,15 +1,19 @@@
 -3.0.13
 +3.11.0
 + * 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:
+  * Propagate row deletions in 2i tables on upgrade (CASSANDRA-13320)
   * Slice.isEmpty() returns false for some empty slices (CASSANDRA-13305)
   * Add formatted row output to assertEmpty in CQL Tester (CASSANDRA-13238)
 -Merged from 2.2:
 - * Wrong logger name in AnticompactionTask (CASSANDRA-13343)
 - * Commitlog replay may fail if last mutation is within 4 bytes of end of 
segment (CASSANDRA-13282)
 - * Fix queries updating multiple time the same list (CASSANDRA-13130)
 - * Fix GRANT/REVOKE when keyspace isn't specified (CASSANDRA-13053)
 -
 -
 -3.0.12
   * Prevent data loss on upgrade 2.1 - 3.0 by adding component separator to 
LogRecord absolute path (CASSANDRA-13294)
   * Improve testing on macOS by eliminating sigar logging (CASSANDRA-13233)
   * Cqlsh copy-from should error out when csv contains invalid data for 
collections (CASSANDRA-13071)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3d3e1ad/src/java/org/apache/cassandra/db/LegacyLayout.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/LegacyLayout.java
index 3af243e,bfe3bff..e218fd1
--- a/src/java/org/apache/cassandra/db/LegacyLayout.java
+++ b/src/java/org/apache/cassandra/db/LegacyLayout.java
@@@ -1195,11 -1194,14 +1195,15 @@@ public abstract class LegacyLayou
              {
                  // It's the row marker
                  assert !cell.value.hasRemaining();
 +
                  // In 2.1, the row marker expired cell might have been 
converted into a deleted one by compaction. So,
                  // we need to set the primary key liveness info only if the 
cell is not a deleted one.
+                 // The only time in 2.x that we actually delete a row marker 
is in 2i tables, so in that case we do
+                 // want to actually propagate the row deletion. 
(CASSANDRA-13320)
                  if (!cell.isTombstone())
 -                    
builder.addPrimaryKeyLivenessInfo(LivenessInfo.create(cell.timestamp, cell.ttl, 
cell.localDeletionTime));
 +                    
builder.addPrimaryKeyLivenessInfo(LivenessInfo.withExpirationTime(cell.timestamp,
 cell.ttl, cell.localDeletionTime));
+                 else if (metadata.isIndex())
+                     builder.addRowDeletion(Row.Deletion.regular(new 
DeletionTime(cell.timestamp, cell.localDeletionTime)));
              }
              else
              {

Reply via email to