[ https://issues.apache.org/jira/browse/CASSANDRA-16656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Norbert Schultz updated CASSANDRA-16656: ---------------------------------------- Description: 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} was: 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} > 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 > Priority: Low > > 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.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org