[ https://issues.apache.org/jira/browse/CASSANDRA-5079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13536855#comment-13536855 ]
amorton commented on CASSANDRA-5079: ------------------------------------ Yup, was a fun few hours. bq. (Setting affects-version to when 2I were added. Please correct if this was a more recent regression.) Yes it has always been there. Will need to patch 0.8 onwards. Do we still release 0.7? > 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: 0.7.0 > Reporter: amorton > Assignee: amorton > Fix For: 1.2.0 rc2 > > Attachments: 5079.txt > > > 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