Hi

I am trying to test my application that runs with JDBC, CQL 3 with
Cassandra 1.2. After getting many weird errors and downgrading from JDBC to
thrift, I realized the thrift on Cassandra 1.2 has issues with wide rows.
If I define the table as:

CREATE TABLE  test(interval int,id text, body text, primary key (interval,
id));

select interval, id, body from test;

 fails with:

ERROR [Thrift:16] 2013-01-11 18:23:35,997 CustomTThreadPoolServer.java
(line 217) Error occurred during processing of message.
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1
    at
org.apache.cassandra.config.CFMetaData.getColumnDefinitionFromColumnName(CFMetaData.java:923)
    at
org.apache.cassandra.cql.QueryProcessor.processStatement(QueryProcessor.java:502)
    at
org.apache.cassandra.cql.QueryProcessor.process(QueryProcessor.java:789)
    at
org.apache.cassandra.thrift.CassandraServer.execute_cql_query(CassandraServer.java:1652)
    at
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:4048)
    at
org.apache.cassandra.thrift.Cassandra$Processor$execute_cql_query.getResult(Cassandra.java:4036)
    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.runWorker(ThreadPoolExecutor.java:1121)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
    at java.lang.Thread.run(Thread.java:780)

Same code works well with Cassandra 1.1.

At the same time, if I define the table as:
CREATE TABLE  test1(interval int,id text, body text, primary key
(interval));

everything works fine. I am using

DataStax Community 1.2

apache-cassandra-clientutil-1.2.0.jar
apache-cassandra-thrift-1.2.0.jar
libthrift-0.7.0.jar

Apparently client.set_cql_version("3.0.0"); has no effect either. Is there
a setting that I miss on the client side to dictate cql3 or it is a bug?

Thanks in advance

Shahryar

-- 
"Life is what happens while you are making other plans." ~ John Lennon

Reply via email to