Gábor Auth created CASSANDRA-12240: --------------------------------------
Summary: Broken materialized view compatibility Key: CASSANDRA-12240 URL: https://issues.apache.org/jira/browse/CASSANDRA-12240 Project: Cassandra Issue Type: Bug Environment: datastax-ddc-3.7.0, Centos 7, x86_64 Reporter: Gábor Auth Priority: Blocker The behavior of the materialized view is not compatible with the previous versions of Cassandra, here is the simple test case, it is works from 3.3.0 to 3.6.0. I've reproduced the issue with a single node installation and our eight node test environment too of the 3.7.0 version: {code} CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1}; USE test; CREATE TABLE test (id timeuuid PRIMARY KEY, segment text, xy text); CREATE MATERIALIZED VIEW test_by_segment AS SELECT * FROM test WHERE segment IS NOT NULL PRIMARY KEY (segment, id); CREATE MATERIALIZED VIEW test_by_xy AS SELECT * FROM test WHERE xy IS NOT NULL PRIMARY KEY (xy, id); UPDATE test SET segment=null, xy='{"x":0,"y":0}' WHERE id=8868dd90-fa48-11e3-afc8-c53da2f1a8ef; UPDATE test SET xy='{"x":0,"y":0}' WHERE id=8868dd90-fa48-11e3-afc8-c53da2f1a8ef; {code} The result of the `cqlsh` console: {code} WriteTimeout: code=1100 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'} {code} The stack trace in the server log: {code} ERROR 19:40:19 Unknown exception caught while attempting to update MaterializedView! test java.lang.AssertionError: We shouldn't have got there is the base row had no associated entry at org.apache.cassandra.db.view.ViewUpdateGenerator.computeLivenessInfoForEntry(ViewUpdateGenerator.java:455) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.ViewUpdateGenerator.updateEntry(ViewUpdateGenerator.java:273) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.ViewUpdateGenerator.addBaseTableUpdate(ViewUpdateGenerator.java:127) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.TableViews.addToViewUpdateGenerators(TableViews.java:403) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.TableViews.generateViewUpdates(TableViews.java:236) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.TableViews.pushViewReplicaUpdates(TableViews.java:140) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:514) [apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:399) [apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Mutation.applyFuture(Mutation.java:202) [apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) [apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Mutation.apply(Mutation.java:228) [apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.service.StorageProxy$8.runMayThrow(StorageProxy.java:1343) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2519) ~[apache-cassandra-3.7.0.jar:3.7.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_91] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) ~[apache-cassandra-3.7.0.jar:3.7.0] at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_91] WARN 19:40:19 Uncaught exception on thread Thread[SharedPool-Worker-2,5,main]: {} java.lang.AssertionError: We shouldn't have got there is the base row had no associated entry at org.apache.cassandra.db.view.ViewUpdateGenerator.computeLivenessInfoForEntry(ViewUpdateGenerator.java:455) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.ViewUpdateGenerator.updateEntry(ViewUpdateGenerator.java:273) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.ViewUpdateGenerator.addBaseTableUpdate(ViewUpdateGenerator.java:127) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.TableViews.addToViewUpdateGenerators(TableViews.java:403) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.TableViews.generateViewUpdates(TableViews.java:236) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.view.TableViews.pushViewReplicaUpdates(TableViews.java:140) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:514) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:399) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Mutation.applyFuture(Mutation.java:202) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.db.Mutation.apply(Mutation.java:228) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.service.StorageProxy$8.runMayThrow(StorageProxy.java:1343) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2519) ~[apache-cassandra-3.7.0.jar:3.7.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_91] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) ~[apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136) [apache-cassandra-3.7.0.jar:3.7.0] at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-3.7.0.jar:3.7.0] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)