Silviu Butnariu created CASSANDRA-14071:
-------------------------------------------

             Summary: Materialized view on table with TTL issue
                 Key: CASSANDRA-14071
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14071
             Project: Cassandra
          Issue Type: Bug
          Components: Coordination, Materialized Views
         Environment: Cassandra 3
            Reporter: Silviu Butnariu


Materialized views that cluster by a column that is not part of table's PK and 
are created from tables that have *default_time_to_live* seem to malfunction.

Having this table
{code:java}
CREATE TABLE sbutnariu.test_bug (
    field1 smallint,
    field2 smallint,
    date timestamp,
    PRIMARY KEY ((field1), field2)
) WITH default_time_to_live = 1000;
{code}

and the materialized view
{code:java}
CREATE MATERIALIZED VIEW sbutnariu.test_bug_by_date AS SELECT * FROM 
sbutnariu.test_bug WHERE field1 IS NOT NULL AND field2 IS NOT NULL AND date IS 
NOT NULL PRIMARY KEY ((field1), date, field2) WITH CLUSTERING ORDER BY (date 
desc, field2 asc);
{code}

After inserting 3 rows with same PK (should upsert), the materialized view will 
have 3 rows.
{code:java}
insert into sbutnariu.test_bug(field1, field2, date) values (1, 2, 
toTimestamp(now()));
insert into sbutnariu.test_bug(field1, field2, date) values (1, 2, 
toTimestamp(now()));
insert into sbutnariu.test_bug(field1, field2, date) values (1, 2, 
toTimestamp(now()));

select * from sbutnariu.test_bug; /*1 row*/
select * from sbutnariu.test_bug_by_date;/*3 rows*/
{code}

If I remove the ttl and try again, it works as expected:
{code:java}
truncate sbutnariu.test_bug;
alter table sbutnariu.test_bug with default_time_to_live = 0;

select * from sbutnariu.test_bug; /*1 row*/
select * from sbutnariu.test_bug_by_date;/*1 row*/
{code}

I've tested on versions 3.0.14 and 3.0.15. The bug was introduced in 3.0.15, as 
in 3.0.14 it works as expected.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to