[
https://issues.apache.org/jira/browse/CASSANDRA-10690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15018254#comment-15018254
]
Sam Tunnicliffe commented on CASSANDRA-10690:
---------------------------------------------
+1 on the patch, with 2 minuscule nits:
* Typo in the javadoc of {{Index::indexerFor}} - s/partiticular/particular
* I would also amend slightly the new comment in {{CassandraIndex::indexerFor}}
to make it clear that stale entries are actually removed from the index on read
as well as during compaction.
> Remove unclear indexes() method from 2ndary index API
> -----------------------------------------------------
>
> Key: CASSANDRA-10690
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10690
> Project: Cassandra
> Issue Type: Bug
> Components: Local Write-Read Paths
> Reporter: Tyler Hobbs
> Assignee: Sylvain Lebresne
> Fix For: 3.0.1, 3.1
>
>
> The new secondary index API does not notify indexes of single-row or slice
> deletions unless specific columns are deleted. I believe the problem is that
> in {{SecondaryIndexManager.newUpdateTransaction()}}, we skip indexes unless
> {{index.indexes(update.columns())}}. When no columns are specified in the
> the deletion, {{update.columns()}} is empty, which causes all indexes to be
> skipped.
> I think the correct fix is to do something like this in the
> {{ModificationStatement}} constructor:
> {code}
> if (type == StatementType.DELETE && modifiedColumns.isEmpty())
> modifiedColumns = cfm.partitionColumns();
> {code}
> However, I'm not sure if that may have unintended side-effects. What do you
> think, [~slebresne]?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)