cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7953) RangeTombstones not merging during compaction
Date Tue, 13 Oct 2015 13:42:07 GMT

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

Mime
View raw message