[
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