[ https://issues.apache.org/jira/browse/CASSANDRA-9198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Jirsa updated CASSANDRA-9198: ---------------------------------- Attachment: 9198.txt Updated patch, allows idempotent deletes and corrects unit tests. > Deleting from an empty list produces an error > --------------------------------------------- > > Key: CASSANDRA-9198 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9198 > Project: Cassandra > Issue Type: Bug > Components: API > Reporter: Olivier Michallat > Assignee: Benjamin Lerer > Priority: Minor > Fix For: 3.0 > > Attachments: 9198.txt > > > While deleting an element from a list that does not contain it is a no-op, > deleting it from an empty list causes an error. > This edge case is a bit inconsistent, because it makes list deletion non > idempotent: > {code} > cqlsh:test> create table foo (k int primary key, v list<int>); > cqlsh:test> insert into foo(k,v) values (1, [1,2]); > cqlsh:test> update foo set v = v - [1] where k = 1; > cqlsh:test> update foo set v = v - [1] where k = 1; > cqlsh:test> update foo set v = v - [2] where k = 1; > cqlsh:test> update foo set v = v - [2] where k = 1; > InvalidRequest: code=2200 [Invalid query] message="Attempted to delete an > element from a list which is null" > {code} > With speculative retries coming to the drivers, idempotency becomes more > important because it determines which query we might retry or not. So it > would be better if deleting from an empty list succeeded. -- This message was sent by Atlassian JIRA (v6.3.4#6332)