[
https://issues.apache.org/jira/browse/CASSANDRA-7953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14954591#comment-14954591
]
Marcus Eriksson commented on CASSANDRA-7953:
--------------------------------------------
Very nice, just one worry - if we have a very wide partition with only
non-duplicate RTs (say with increasing {{.min}} and {{.max}}), we will keep
them all in memory until we call .build(). Could we write all unwritten
tombstones that have {{unwritten.max < toAdd.name()}} in
{{Tracker.update(..)}}? That should make sure we will not be able to remove the
unwritten one due to duplication, right?
> RangeTombstones not merging during compaction
> ---------------------------------------------
>
> Key: CASSANDRA-7953
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7953
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Environment: Cassandra 2.1
> Reporter: Marcus Olsson
> Assignee: Branimir Lambov
> Priority: Minor
> Labels: compaction, deletes, tombstone
> Fix For: 2.1.x, 2.2.x
>
> Attachments: 0001-7953-v2.patch, CASSANDRA-7953-1.patch,
> CASSANDRA-7953.patch
>
>
> When performing a compaction on two sstables that contain the same
> RangeTombstone with different timestamps, the tombstones are not merged in
> the new sstable.
> This has been tested using cassandra 2.1 with the following table:
> {code}
> CREATE TABLE test(
> key text,
> column text,
> data text,
> PRIMARY KEY(key, column)
> );
> {code}
> And then doing the following:
> {code}
> INSERT INTO test (key, column, data) VALUES ("1", "1", "1"); // If the
> sstable only contains tombstones during compaction it seems that the sstable
> either gets removed or isn't created (but that could probably be a separate
> JIRA issue).
> INSERT INTO test (key, column, data) VALUES ("1", "2", "2"); // The inserts
> are not actually needed, since the deletes create tombstones either way.
> DELETE FROM test WHERE key="1" AND column="2";
> nodetool flush
> INSERT INTO test (key, column, data) VALUES ("1", "2", "2");
> DELETE FROM test WHERE key="1" AND column="2";
> nodetool flush
> nodetool compact
> {code}
> When checking with the SSTableExport tool two tombstones exists in the
> compacted sstable. This can be repeated, resulting in more and more
> tombstones.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)