You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jeremy Hanna (JIRA)" <ji...@apache.org> on 2017/06/22 16:34:17 UTC

[jira] [Updated] (CASSANDRA-12753) Create MV can corrupt C*, blocking all further table actions and startup

     [ https://issues.apache.org/jira/browse/CASSANDRA-12753?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeremy Hanna updated CASSANDRA-12753:
-------------------------------------
    Component/s: Materialized Views

> Create MV can corrupt C*, blocking all further table actions and startup
> ------------------------------------------------------------------------
>
>                 Key: CASSANDRA-12753
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12753
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core, Materialized Views
>         Environment: RHEL6.5
> Cas 3.0.9
>            Reporter: Hazel Bobrins
>            Priority: Critical
>         Attachments: Cass_start.txt, MV_Create.txt, table_drop.txt
>
>
> Creating a MV with a protected field name e.g. 'set' results in an error. Post this failed MV create all further actions in the keyspace fail and node startup fails until the keyspace is dropped.
> Tested on a fresh 3.0.9 install single node cluster.
> How to reproduce
> cassandra@cqlsh:test1> CREATE KEYSPACE test1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 } AND durable_writes = 'true';
> cassandra@cqlsh:test1> use test1 ;
> cassandra@cqlsh:test1> CREATE TABLE main_table ( field1 text, field2 text, "set" text, PRIMARY KEY ( field1, field2 ) );
> cassandra@cqlsh:test1> CREATE MATERIALIZED VIEW mv1 AS SELECT field2, field1, "set" FROM main_table WHERE field1 IS NOT NULL AND field2 IS NOT NULL PRIMARY KEY ( field2, field1 ) ;
> ServerError: java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.exceptions.SyntaxException: line 1:23 no viable alternative at input 'set' (SELECT field1, field2, [set]...)
> ## Attached stack traces - 'MV_Create' thrown at this point
> cassandra@cqlsh:test1> drop TABLE main_table ;
> ServerError: java.lang.RuntimeException: java.util.concurrent.ExecutionException: org.apache.cassandra.exceptions.SyntaxException: line 1:23 no viable alternative at input 'set' (SELECT field1, field2, [set]...)
> ## Attached stacke traces - 'Table_drop' thrown at this point
> Finally restart Cassandra. Attached stack 'Cass_start' thrown at this point and C* does not start.
> Dropping the keyspace does work, however, this must obviously be done before stopping the node.
> We have also tested this on a 4 node cluster, post the MV create all nodes report the same issue.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org