cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian ONeill (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-5138) Provide a better CQL error when table data does not conform to CQL metadata.
Date Fri, 11 Jan 2013 03:28:13 GMT


Brian ONeill commented on CASSANDRA-5138:

Just to be clear, I'd be happy with just a more informative message. (translate the ArrayOutOfBounds,
to "You may not have enough components in your column name.")

To elaborate on the craziness that is accessing tables from CQL that are populated by thrift...
We want to enable our "data heads" with cqlsh.  They are very excited about it because it
looks like SQL, and to date Cassandra has been inaccessible to them.  (These are data gurus
that are wizards at a SQL prompt, but do not have server-side access to Cassandra)  We have
existing (and new) applications that use thrift to write (via Astyanax composite/compound
columns using annotated classes).  We don't want to change our application development paradigm
(yet), but we want cqlsh access to the data.  In that paradigm, we have encountered this error
during development, especially if/when you get the translation wrong between a CQL schema
and the thrift interpretation. (which isn't hard to do)
> 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
>            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(
> 	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