[jira] [Updated] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.
[ https://issues.apache.org/jira/browse/CASSANDRA-5138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-5138: Attachment: 5138-2.txt I guess all I meant is that since people tends to get touchy when you limit the thrift interface, doing the minimum validation so as not to crash CQL could be an option. Anyway, doesn't matter, attaching v2 patch that does the extra check. > Provide a better CQL error when table data does not conform to CQL metadata. > > > Key: CASSANDRA-5138 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5138 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.2.0 > Environment: Mac OS X running 1.2 >Reporter: Brian ONeill >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 1.2.7 > > Attachments: 5138-2.txt, 5138.txt, northpole.cql > > > When you create a table via CQL, then insert into it via Thrift. If you > inadvertently leave out a component of the column name, in CQL you receive a: > TSocket read 0 bytes > Server-side the following exception is logged: > ERROR 15:19:18,016 Error occurred during processing of message. > java.lang.ArrayIndexOutOfBoundsException: 3 > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138) > at > org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805) > at > org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61) > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132) > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140) > at > org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > I'll submit a schema, and steps to reproduce. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.
[ https://issues.apache.org/jira/browse/CASSANDRA-5138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-5138: Attachment: 5138.txt Attaching relatively simple patch that simply assert a column name has the right number of components when inserting in a CQL3 table. The patch does not validate that the CQL3 column inserted exists however. We could do it I suppose, but inserting such cell shouldn't really corrupt the data, the cell should simply be ignored by a select, so I figured it's probably not worth going further for thrift. > Provide a better CQL error when table data does not conform to CQL metadata. > > > Key: CASSANDRA-5138 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5138 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.2.0 > Environment: Mac OS X running 1.2 >Reporter: Brian ONeill >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 1.2.7 > > Attachments: 5138.txt, northpole.cql > > > When you create a table via CQL, then insert into it via Thrift. If you > inadvertently leave out a component of the column name, in CQL you receive a: > TSocket read 0 bytes > Server-side the following exception is logged: > ERROR 15:19:18,016 Error occurred during processing of message. > java.lang.ArrayIndexOutOfBoundsException: 3 > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138) > at > org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805) > at > org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61) > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132) > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140) > at > org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > I'll submit a schema, and steps to reproduce. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.
[ https://issues.apache.org/jira/browse/CASSANDRA-5138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-5138: Fix Version/s: (was: 1.2.2) 1.2.3 > Provide a better CQL error when table data does not conform to CQL metadata. > > > Key: CASSANDRA-5138 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5138 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.2.0 > Environment: Mac OS X running 1.2 >Reporter: Brian ONeill >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 1.2.3 > > Attachments: northpole.cql > > > When you create a table via CQL, then insert into it via Thrift. If you > inadvertently leave out a component of the column name, in CQL you receive a: > TSocket read 0 bytes > Server-side the following exception is logged: > ERROR 15:19:18,016 Error occurred during processing of message. > java.lang.ArrayIndexOutOfBoundsException: 3 > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138) > at > org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805) > at > org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61) > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132) > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140) > at > org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > I'll submit a schema, and steps to reproduce. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.
[ https://issues.apache.org/jira/browse/CASSANDRA-5138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-5138: -- Fix Version/s: 1.2.2 Assignee: Sylvain Lebresne > Provide a better CQL error when table data does not conform to CQL metadata. > > > Key: CASSANDRA-5138 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5138 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.2.0 > Environment: Mac OS X running 1.2 >Reporter: Brian ONeill >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 1.2.2 > > Attachments: northpole.cql > > > When you create a table via CQL, then insert into it via Thrift. If you > inadvertently leave out a component of the column name, in CQL you receive a: > TSocket read 0 bytes > Server-side the following exception is logged: > ERROR 15:19:18,016 Error occurred during processing of message. > java.lang.ArrayIndexOutOfBoundsException: 3 > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138) > at > org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805) > at > org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61) > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132) > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140) > at > org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > I'll submit a schema, and steps to reproduce. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.
[ https://issues.apache.org/jira/browse/CASSANDRA-5138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brian ONeill updated CASSANDRA-5138: Attachment: northpole.cql You can use this schema to reproduce the issue. > Provide a better CQL error when table data does not conform to CQL metadata. > > > Key: CASSANDRA-5138 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5138 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.2.0 > Environment: Mac OS X running 1.2 >Reporter: Brian ONeill >Priority: Minor > Attachments: northpole.cql > > > When you create a table via CQL, then insert into it via Thrift. If you > inadvertently leave out a component of the column name, in CQL you receive a: > TSocket read 0 bytes > Server-side the following exception is logged: > ERROR 15:19:18,016 Error occurred during processing of message. > java.lang.ArrayIndexOutOfBoundsException: 3 > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.add(ColumnGroupMap.java:43) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(ColumnGroupMap.java:31) > at > org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(ColumnGroupMap.java:138) > at > org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:805) > at > org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:145) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:134) > at > org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:61) > at > org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:132) > at > org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:140) > at > org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1686) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4074) > at > org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4062) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34) > at > org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:199) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > I'll submit a schema, and steps to reproduce. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira