cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.
Date Mon, 22 Jul 2013 14:52:49 GMT


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:
>             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(
> 	at org.apache.cassandra.cql3.statements.ColumnGroupMap.access$200(
> 	at org.apache.cassandra.cql3.statements.ColumnGroupMap$Builder.add(
> 	at org.apache.cassandra.cql3.statements.SelectStatement.process(
> 	at org.apache.cassandra.cql3.statements.SelectStatement.processResults(
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(
> 	at org.apache.cassandra.cql3.QueryProcessor.processStatement(
> 	at org.apache.cassandra.cql3.QueryProcessor.process(
> 	at org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(
> 	at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(
> 	at org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(
> 	at org.apache.thrift.ProcessFunction.process(
> 	at org.apache.thrift.TBaseProcessor.process(
> 	at org.apache.cassandra.thrift.CustomTThreadPoolServer$
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
> 	at java.util.concurrent.ThreadPoolExecutor$
> 	at
> 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:

View raw message