[jira] [Updated] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.

2013-07-23 Thread Sylvain Lebresne (JIRA)

 [ 
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.

2013-07-22 Thread Sylvain Lebresne (JIRA)

 [ 
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.

2013-02-25 Thread Sylvain Lebresne (JIRA)

 [ 
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.

2013-01-24 Thread Jonathan Ellis (JIRA)

 [ 
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.

2013-01-09 Thread Brian ONeill (JIRA)

 [ 
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