[ https://issues.apache.org/jira/browse/CASSANDRA-13127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16062967#comment-16062967 ]
ZhaoYang edited comment on CASSANDRA-13127 at 7/7/17 9:25 AM: -------------------------------------------------------------- || source || junit-result || dtest-result|| | [trunk|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13127-trunk] | [utest|https://circleci.com/gh/jasonstack/cassandra/115] | {{bootstrap_test.TestBootstrap.consistent_range_movement_false_with_rf1_should_succeed_test}}[known|https://issues.apache.org/jira/browse/CASSANDRA-13576] {{cqlsh_tests.cqlsh_tests.TestCqlsh.test_describe}} | | [dtest| https://github.com/jasonstack/cassandra-dtest/commits/CASSANDRA-13127 ] | \ | \ | 1. View.mayBeAffectedBy will return true as long as view-key-values are not filtered 2. LivenessInfo.supersedes(another) will check localDeletionTime if timestamps are the same. greater localDeletionTimestamp supersedes. was (Author: jasonstack): || source || junit-result || dtest-result|| | [3.11|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13127-trunk] | [utest|https://circleci.com/gh/jasonstack/cassandra/62] | | | [dtest| https://github.com/jasonstack/cassandra-dtest/commits/CASSANDRA-13127 ] | \ | \ | 1. View.mayBeAffectedBy will return true as long as view-key-values are not filtered 2. LivenessInfo.supersedes(another) will check localDeletionTime if timestamps are the same. greater localDeletionTimestamp supersedes. > Materialized Views: View row expires too soon > --------------------------------------------- > > Key: CASSANDRA-13127 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13127 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths, Materialized Views > Reporter: Duarte Nunes > Assignee: ZhaoYang > > Consider the following commands, ran against trunk: > {code} > echo "DROP MATERIALIZED VIEW ks.mv; DROP TABLE ks.base;" | bin/cqlsh > echo "CREATE TABLE ks.base (p int, c int, v int, PRIMARY KEY (p, c));" | > bin/cqlsh > echo "CREATE MATERIALIZED VIEW ks.mv AS SELECT p, c FROM base WHERE p IS NOT > NULL AND c IS NOT NULL PRIMARY KEY (c, p);" | bin/cqlsh > echo "INSERT INTO ks.base (p, c) VALUES (0, 0) USING TTL 10;" | bin/cqlsh > # wait for row liveness to get closer to expiration > sleep 6; > echo "UPDATE ks.base USING TTL 8 SET v = 0 WHERE p = 0 and c = 0;" | bin/cqlsh > echo "SELECT p, c, ttl(v) FROM ks.base; SELECT * FROM ks.mv;" | bin/cqlsh > p | c | ttl(v) > ---+---+-------- > 0 | 0 | 7 > (1 rows) > c | p > ---+--- > 0 | 0 > (1 rows) > # wait for row liveness to expire > sleep 4; > echo "SELECT p, c, ttl(v) FROM ks.base; SELECT * FROM ks.mv;" | bin/cqlsh > p | c | ttl(v) > ---+---+-------- > 0 | 0 | 3 > (1 rows) > c | p > ---+--- > (0 rows) > {code} > Notice how the view row is removed even though the base row is still live. I > would say this is because in ViewUpdateGenerator#computeLivenessInfoForEntry > the TTLs are compared instead of the expiration times, but I'm not sure I'm > getting that far ahead in the code when updating a column that's not in the > view. -- 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