Fabien Rousseau created CASSANDRA-5799:
------------------------------------------

             Summary: 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

Reply via email to