cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5614) W/O specified columns ASPCSI does not get notified of deletes
Date Tue, 16 Jul 2013 22:08:48 GMT

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

Jonathan Ellis commented on CASSANDRA-5614:
-------------------------------------------

bq. When a column is deleted by name and that column is present in the memtable, we have the
value and so can do that. When the named column isn't in the memtable, then we don't have
the old value

Right, but we know the old value is in the sstable and will be cleaned out on compaction.

So I still don't see what would break here if we "expand" the tombstone to the indexed columns
-- the same logic applies, we either get it from the memtable or at compaction time.

(I *think* we apply row tombstones to indexed data correctly in compaction already -- if so,
all we need to do is handle the memtable case, and not actually create extra tombstones.)
                
> 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

Mime
View raw message