[ 
https://issues.apache.org/jira/browse/CASSANDRA-7953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14954942#comment-14954942
 ] 

Sylvain Lebresne commented on CASSANDRA-7953:
---------------------------------------------

bq. There is CASSANDRA-5435 - but I dunno if we should worry about that

I'd say we don't (worry about it). Range tombstones through thrift is a very 
late addition and it's almost surely barely used (I'm not sure most of the 
thrift clients even support it). And we're not talking of breaking that feature 
here, just to trade-off higher memory consumption in a very unlikely scenario 
against saving comparisons in most cases. I think that's the right choice.

> 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)

Reply via email to