Details
Description
Currently we are using Cassandra 1.2.6 and we want to migrate to 2.0.1.
We still use Thrift for some column families (migration to CQL3 is not done yet for them). We have cassandra-cli script to drop/create fresh keyspace, re-create column families and populate referential data:
Schema creation script
drop keyspace xxx;
create keyspace xxx with placement_strategy ...
create column family offers with
key_validation_class = UTF8Type and
comparator = 'CompositeType(UTF8Type)' and
default_validation_class = UTF8Type;
Data insertion script:
set offers['OFFER1'][PRODUCT1']='test_product'; ...
When executing the data insertion script with Cassandra 2.0.1, we have the following stack trace:
Invalid cell for CQL3 table offers. The CQL3 column component (COL1) does not correspond to a defined CQL3 column InvalidRequestException(why:Invalid cell for CQL3 table offers. The CQL3 column component (COL1) does not correspond to a defined CQL3 column) at org.apache.cassandra.thrift.Cassandra$insert_result$insert_resultStandardScheme.read(Cassandra.java:21447) at org.apache.cassandra.thrift.Cassandra$insert_result$insert_resultStandardScheme.read(Cassandra.java:21433) at org.apache.cassandra.thrift.Cassandra$insert_result.read(Cassandra.java:21367) at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) at org.apache.cassandra.thrift.Cassandra$Client.recv_insert(Cassandra.java:898) at org.apache.cassandra.thrift.Cassandra$Client.insert(Cassandra.java:882) at org.apache.cassandra.cli.CliClient.executeSet(CliClient.java:987) at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:231) at org.apache.cassandra.cli.CliMain.processStatementInteractive(CliMain.java:201) at org.apache.cassandra.cli.CliMain.main(CliMain.java:327)
This data insertion script works pecfectly with Cassandra 1.2.6.
We face the same issue with Cassandra 2.0.0. It looks like the cassandra-cli commands no longer works with Cassandra 2.0.0...