You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Atri Sharma (Jira)" <ji...@apache.org> on 2022/09/05 19:21:00 UTC

[jira] [Assigned] (CASSANDRA-16656) Assertion Error on invalid ALTER TABLE Command

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

Atri Sharma reassigned CASSANDRA-16656:
---------------------------------------

    Assignee: Atri Sharma

> Assertion Error on invalid ALTER TABLE Command
> ----------------------------------------------
>
>                 Key: CASSANDRA-16656
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16656
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL/Syntax
>            Reporter: Norbert Schultz
>            Assignee: Atri Sharma
>            Priority: Low
>             Fix For: 3.11.x
>
>         Attachments: Screenshot 2022-09-06 at 12.49.40 AM.png
>
>
> If there is an invalid ALTER TABLE statement (extra comma), then Cassandra responds with an assertion error.
>  
> This happens on 3.11.10 but not on 4.0-rc1
> This statement fails:
> {code:java}
> > cqlsh
> Connected to Test Cluster at 127.0.0.1:9042.
> [cqlsh 5.0.1 | Cassandra 3.11.10 | CQL spec 3.4.4 | Native protocol v4]
> Use HELP for help.
> cqlsh> CREATE KEYSPACE foo WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
> cqlsh> use foo;
> cqlsh:foo> create table test(id INT, PRIMARY KEY(id));
> cqlsh:foo> alter table test ADD (x INT, y INT,);
> ServerError: java.lang.AssertionError
> {code}
> The following can be found inside the Log:
> {code}
> java.lang.AssertionError: null
> 	at org.apache.cassandra.cql3.statements.AlterTableStatementColumn.<init>(AlterTableStatementColumn.java:36) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.Cql_Parser.alterTableStatement(Cql_Parser.java:5820) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.Cql_Parser.cqlStatement(Cql_Parser.java:628) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.CqlParser.cqlStatement(CqlParser.java:604) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.CqlParser.query(CqlParser.java:344) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.CQLFragmentParser.parseAnyUnhandled(CQLFragmentParser.java:76) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:589) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:559) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:247) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:241) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:116) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.transport.Message$Dispatcher.processRequest(Message.java:685) [apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.transport.Message$Dispatcher.lambda$channelRead0$0(Message.java:591) [apache-cassandra-3.11.10.jar:3.11.10]
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_292]
> 	at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:113) ~[apache-cassandra-3.11.10.jar:3.11.10]
> 	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_292]
> {code}
> Cassandra 4.0-rc1 responds as expected:
> {code}
> cqlsh:foo> alter table test ADD (x INT, y INT,);
> SyntaxException: line 1:35 no viable alternative at input ')' (...(x INT, y INT,[)]...)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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