[ https://issues.apache.org/jira/browse/CASSANDRA-14071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16279552#comment-16279552 ]
Paulo Motta commented on CASSANDRA-14071: ----------------------------------------- Patch and tests look good, I just made this following minor changes: * Improve docs a bit to give more information on how {{ExpiredLivenessInfo}} is used [here|https://github.com/pauloricardomg/cassandra/commit/0098a04f50db06266ecd54cd115de8b167c38862] * Avoid unnecessary comparison on [LivenessInfo.supersedes|https://github.com/pauloricardomg/cassandra/commit/d4eafba373973c870158bcb2b005746f9f59aa2d]. * Reinstate [removed assertion|https://github.com/pauloricardomg/cassandra/commit/7a79e0837004415885b8cddaf2f45ba21d493bc3] I rebased submitted CI with these changes: * [3.0|https://github.com/pauloricardomg/cassandra/tree/CASSANDRA-14071] * [3.11|https://github.com/pauloricardomg/cassandra/tree/CASSANDRA-14071-3.11] * [trunk|https://github.com/pauloricardomg/cassandra/tree/CASSANDRA-14071-trunk] Please let me know what do you think. > 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 > Assignee: ZhaoYang > Labels: correctness > > 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* seems 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