[
https://issues.apache.org/jira/browse/CASSANDRA-5799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13718370#comment-13718370
]
Fabien Rousseau commented on CASSANDRA-5799:
--------------------------------------------
Note : it was initially reported here
http://www.mail-archive.com/[email protected]/msg31277.html
The row size is around 153Mb, thus, compacting at 16Mb/s => around 9s to
compact, which is an open window for columns to expire
> 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.7
> Reporter: Fabien Rousseau
>
> 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