amorton created CASSANDRA-5079:
----------------------------------

             Summary: Compaction deletes ExpiringColumns in Secondary Indexes
                 Key: CASSANDRA-5079
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5079
             Project: Cassandra
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.2.0 rc1, 1.1.7
            Reporter: amorton
            Assignee: amorton


>From this discussion 
>http://www.mail-archive.com/user@cassandra.apache.org/msg26599.html

CompactionManager.getDefaultGcBefore() set's the gc_before to be 
Integer.MAX_VALUE. 

In the example all entries in the secondary index have a TTL. In 
PreCompactedRow.removeDeletedAndOldShards() the CF is determined to have 
irrelevant data, the call to CFS.removeDeleted() results in the ExpiringColumns 
being removed and the row is treated as empty. CompactionTask.execute() exits 
at the {{if (!nni.hasNext())}} test, so the sstables are marked as compacted 
and soon deleted. 

In the example the localDeletionTime was Thu, 21 Mar 2013 08:25:22 GMT and 
should not have been purged. 

In the example when the first compaction on the secondary index runs the on 
disk data for the index is deleted. The logs show a compaction starting and no 
associated "Compacted to" message from that compaction thread. 

The impact is incorrect results from secondary indexes queries.

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