Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 0c07840f2 -> 5918375e8
  refs/heads/cassandra-3.11 8fcf83738 -> c3d3e1ad4
  refs/heads/trunk d6a701ea1 -> 9d933657c


Propagate row deletion info for 2i tables on upgrade

Patch by Sam Tunnicliffe; reviewed by Benjamin Lerer for CASSANDRA-13320


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

Branch: refs/heads/cassandra-3.0
Commit: 5918375e88bcacfab47e44cbfa2dd202ec634725
Parents: 0c07840
Author: Sam Tunnicliffe <s...@beobal.com>
Authored: Wed Mar 15 15:54:20 2017 +0000
Committer: Sam Tunnicliffe <s...@beobal.com>
Committed: Fri Mar 17 10:45:48 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/5918375e/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 7232d5e..2017b78 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.13
+ * 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:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5918375e/src/java/org/apache/cassandra/db/LegacyLayout.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/LegacyLayout.java 
b/src/java/org/apache/cassandra/db/LegacyLayout.java
index 972bb9f..bfe3bff 100644
--- a/src/java/org/apache/cassandra/db/LegacyLayout.java
+++ b/src/java/org/apache/cassandra/db/LegacyLayout.java
@@ -1196,8 +1196,12 @@ public abstract class LegacyLayout
                 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));
+                else if (metadata.isIndex())
+                    builder.addRowDeletion(Row.Deletion.regular(new 
DeletionTime(cell.timestamp, cell.localDeletionTime)));
             }
             else
             {

Reply via email to