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