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)

Reply via email to