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