[
https://issues.apache.org/jira/browse/CASSANDRA-11329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sam Tunnicliffe updated CASSANDRA-11329:
----------------------------------------
Reviewer: Sylvain Lebresne
Status: Patch Available (was: Open)
I've pushed a fix, which also modifies {{CassandraIndex}} to make {{removeRow}}
a no-op when the index is on a primary key column. Without that, additional
updates are applied to those indexes during compaction. Those additional
updates are harmless duplicates, which are removed when the index cfs itself is
compacted, but it's clearly more efficient to skip them in the first place.
||branch||testall||dtest||
|[11329-3.0|https://github.com/beobal/cassandra/tree/11329-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-11329-3.0-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-11329-3.0-dtest]|
|[11329-3.5|https://github.com/beobal/cassandra/tree/11329-3.5]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-11329-3.5-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-11329-3.5-dtest]|
|[11329-trunk|https://github.com/beobal/cassandra/tree/11329-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-11329-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-11329-trunk-dtest]|
> Indexers are not informed when expired rows are encountered in compaction
> -------------------------------------------------------------------------
>
> Key: CASSANDRA-11329
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11329
> Project: Cassandra
> Issue Type: Bug
> Components: Compaction
> Reporter: Sam Tunnicliffe
> Assignee: Sam Tunnicliffe
> Fix For: 3.0.x, 3.x
>
>
> When rows are merged during a compaction, if the row resulting from that
> merge is expired due to a row level ttl, registered indexes should be
> notified.
> Index implementers need to be aware that just because an expired row is
> written to the new SSTable, it doesn't necessarily mean that the index should
> purge its entry/entries for that row as there may still be be live data in
> other SSTables.
> That said, it should probably be the responsibility of the index
> implementation to manage that, but at the moment the handling of an
> {{onPrimaryKeyLivenessInfo}} event during compaction is a no-op and doesn't
> cause the registered indexes to be notified.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)