Tyler Hobbs created CASSANDRA-10690:
---------------------------------------

             Summary: Secondary index does not process deletes unless columns 
are specified
                 Key: CASSANDRA-10690
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10690
             Project: Cassandra
          Issue Type: Bug
          Components: index
            Reporter: Tyler Hobbs
             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)

Reply via email to