[ https://issues.apache.org/jira/browse/CASSANDRA-13657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paulo Motta resolved CASSANDRA-13657. ------------------------------------- Resolution: Duplicate Fixed on CASSANDRA-11500, closing as duplicate. > Materialized Views: Index MV on TTL'ed column produces orphanized view entry > if another column keeps entry live > --------------------------------------------------------------------------------------------------------------- > > Key: CASSANDRA-13657 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13657 > Project: Cassandra > Issue Type: Bug > Components: Materialized Views > Reporter: Fridtjof Sander > Assignee: Krishna Dattu Koneru > Labels: materializedviews, ttl > > {noformat} > CREATE TABLE t (k int, a int, b int, PRIMARY KEY (k)); > CREATE MATERIALIZED VIEW mv AS SELECT * FROM t WHERE k IS NOT NULL AND a IS > NOT NULL PRIMARY KEY (a, k); > INSERT INTO t (k) VALUES (1); > UPDATE t USING TTL 5 SET a = 10 WHERE k = 1; > UPDATE t SET b = 100 WHERE k = 1; > SELECT * from t; SELECT * from mv; > k | a | b > ---+----+----- > 1 | 10 | 100 > (1 rows) > a | k | b > ----+---+----- > 10 | 1 | 100 > (1 rows) > -- 5 seconds later > SELECT * from t; SELECT * from mv; > k | a | b > ---+------+----- > 1 | null | 100 > (1 rows) > a | k | b > ----+---+----- > 10 | 1 | 100 > (1 rows) > -- that view entry's liveness-info is (probably) dead, but the entry is kept > alive by b=100 > DELETE b FROM t WHERE k=1; > SELECT * from t; SELECT * from mv; > k | a | b > ---+------+------ > 1 | null | null > (1 rows) > a | k | b > ----+---+----- > 10 | 1 | 100 > (1 rows) > DELETE FROM t WHERE k=1; > cqlsh:test> SELECT * from t; SELECT * from mv; > k | a | b > ---+---+--- > (0 rows) > a | k | b > ----+---+----- > 10 | 1 | 100 > (1 rows) > -- deleting the base-entry doesn't help, because the view-key can not be > constructed anymore (a=10 already expired) > {noformat} > The problem here is that although the view-entry's liveness-info (probably) > expired correctly a regular column (`b`) keeps the view-entry live. It should > have disappeared since it's indexed column (`a`) expired in the corresponding > base-row. This is pretty severe, since that view-entry is now orphanized. -- 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