cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom van der Woerdt (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-12240) Broken materialized view compatibility
Date Thu, 21 Jul 2016 08:34:20 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-12240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15387363#comment-15387363
] 

Tom van der Woerdt commented on CASSANDRA-12240:
------------------------------------------------

This seems to also affect 3.0.7+

> 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)

Mime
View raw message