You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "amorton (JIRA)" <ji...@apache.org> on 2012/12/20 05:33:15 UTC
[jira] [Updated] (CASSANDRA-5079) Compaction deletes
ExpiringColumns in Secondary Indexes
[ https://issues.apache.org/jira/browse/CASSANDRA-5079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
amorton updated CASSANDRA-5079:
-------------------------------
Attachment: 5079.txt
> 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.1.7, 1.2.0 rc1
> Reporter: amorton
> Assignee: amorton
> 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