[
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/[email protected]/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