You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2013/08/22 09:58:54 UTC

[jira] [Commented] (CASSANDRA-5799) Column can expire while lazy compacting it...

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

Sylvain Lebresne commented on CASSANDRA-5799:
---------------------------------------------

bq. Does it matter that my SSTables are mostly on version ic?

I shouldn't matter, no.

bq. but I fear it's still an issue. Here is a stack I just saw in my freshly upgraded 1.2.7 cluster

It could be that there is still a problem. But I'm confident that we did fixed one issue with this ticket, so that would be a separate problem. Let's track that new problem in CASSANDRA-5720 then maybe. Can you indicate in that latter issue that you can reproduce on 1.2.7 btw (so we don't close it as a duplicate of something fixed).

bq. I've been unable to compact this CF since we went to C* 1.2.

If you have some sstables that always fail to compact with that error on 1.2.7, then would you be allowed to provide that set of sstables privately so I can check what's going on on my side?
                
> Column can expire while lazy compacting it...
> ---------------------------------------------
>
>                 Key: CASSANDRA-5799
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5799
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.2.6
>            Reporter: Fabien Rousseau
>            Assignee: Sylvain Lebresne
>             Fix For: 1.2.7
>
>         Attachments: 5799.txt
>
>
> Using TTL + range tombstones can lead to failure while lazy compacting rows.
> Scenario to reproduce :
>  - create an SSTable with one row and some columns and a TTL of 8 seconds
>  - wait one second
>  - create a second SSTable with the same rowkey as above, and add a range tombstone
>  - start the first pass of the lazy compaction before the columns with TTL are expired
>  - wait 10 seconds (enough for columns with TTL to expire)
>  - continue lazy expiration
>  - the following assertion will fail :
>     [junit] junit.framework.AssertionFailedError: originally calculated column size of 1379 but now it is 1082
>     [junit] 	at org.apache.cassandra.db.compaction.LazilyCompactedRow.write(LazilyCompactedRow.java:150)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira