[ 
https://issues.apache.org/jira/browse/CASSANDRA-5614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13706971#comment-13706971
 ] 

Sam Tunnicliffe commented on CASSANDRA-5614:
--------------------------------------------

I'm tempted to say that this is not a problem because it works as expected with 
both KeysIndex & CompositesIndex. Yes, the presence of range rather than 
individual column tombstones in the DeletionInfo means that the index isn't 
updated directly at update time, but the index repair-on-read compensates for 
that at query time. 

We could take the deletion info from the update & use that in some new 
deleteAll method on SIM.Updater which iterates through the indexed columns 
issuing deletes, but AFAICT that would require reads to aquire the existing 
indexed values.
                
> W/O specified columns ASPCSI does not get notified of deletes
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-5614
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5614
>             Project: Cassandra
>          Issue Type: Bug
>    Affects Versions: 1.2.0
>            Reporter: Benjamin Coverston
>            Assignee: Sam Tunnicliffe
>            Priority: Minor
>             Fix For: 1.2.7
>
>
> I'm working on a secondary index implementation based on the composite index 
> type.
> AbstractSimplePerColumnSecondaryIndex.java#delete is not called when CQL 
> delete statements do not specify columns.
> When I specify columns it is called. Pretty sure this is a bug.
> Setup:
> {code}
> cqlsh> create KEYSPACE foo WITH replication = {'class': 'SimpleStrategy' , 
> 'replication_factor': 1};
> cqlsh> use foo;
> cqlsh:foo> CREATE TABLE albums (artist text, album text, rating int, release 
> int, PRIMARY KEY (artist, album));
> cqlsh:foo> CREATE INDEX ON albums (rating);
> {code}
> {code}
> cqlsh:foo> insert into albums (artist, album, rating, release) VALUES 
> ('artist', 'album', 1, 2);
> {code}
> Does not get called here:
> {code}
> cqlsh:foo> DELETE FROM albums where artist='artist' and album='album';
> {code}
> {code}
> cqlsh:foo> insert into albums (artist, album, rating, release) VALUES 
> ('artist', 'album', 1, 2);
> {code}
> gets called here:
> {code}
> cqlsh:foo> DELETE rating FROM albums where artist='artist' and album='album';
> {code}

--
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

Reply via email to