You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sa...@apache.org on 2017/03/17 11:16:21 UTC
[2/6] cassandra git commit: Propagate row deletion info for 2i tables
on upgrade
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.11
Commit: 5918375e88bcacfab47e44cbfa2dd202ec634725
Parents: 0c07840
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Wed Mar 15 15:54:20 2017 +0000
Committer: Sam Tunnicliffe <sa...@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
{