Tuukka Mustonen created CASSANDRA-8206:
------------------------------------------
Summary: Removing items from a set breaks secondary index
Key: CASSANDRA-8206
URL: https://issues.apache.org/jira/browse/CASSANDRA-8206
Project: Cassandra
Issue Type: Bug
Reporter: Tuukka Mustonen
Removing items from a set breaks index for field {{id}}:
{noformat}
cqlsh:cs> CREATE TABLE buckets (
... tenant int,
... id int,
... items set<text>,
... PRIMARY KEY (tenant, id)
... );
cqlsh:cs> CREATE INDEX buckets_ids ON buckets(id);
cqlsh:cs> INSERT INTO buckets (tenant, id, items) VALUES (1, 1, {'foo', 'bar'});
cqlsh:cs> SELECT * FROM buckets;
tenant | id | items
--------+----+----------------
1 | 1 | {'bar', 'foo'}
(1 rows)
cqlsh:cs> SELECT * FROM buckets WHERE id = 1;
tenant | id | items
--------+----+----------------
1 | 1 | {'bar', 'foo'}
(1 rows)
cqlsh:cs> UPDATE buckets SET items=items-{'foo'} WHERE tenant=1 AND id=1;
cqlsh:cs> SELECT * FROM buckets;
tenant | id | items
--------+----+---------
1 | 1 | {'bar'}
(1 rows)
cqlsh:cs> SELECT * FROM buckets WHERE id = 1;
(0 rows)
{noformat}
Re-building the index fixes the issue:
{noformat}
cqlsh:cs> DROP INDEX buckets_ids;
cqlsh:cs> CREATE INDEX buckets_ids ON buckets(id);
cqlsh:cs> SELECT * FROM buckets WHERE id = 1;
tenant | id | items
--------+----+---------
1 | 1 | {'bar'}
(1 rows)
{noformat}
Adding items does not cause similar failure, only delete. Also didn't test if
other collections are also affected(?)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)