Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-6140

Cassandra-cli backward compatibility issue with Cassandra 2.0.1

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Fix Version/s: 2.0.3
    • Component/s: None
    • Labels:
      None
    • Environment:

      Linux Ubuntu, Cassandra 2.0.0

    • Severity:
      Normal
    • Since Version:

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

        Attachments

          Activity

            People

            • Assignee:
              slebresne Sylvain Lebresne Assign to me
              Reporter:
              doanduyhai DuyHai Doan
              Authors:
              Sylvain Lebresne
              Reviewers:
              Aleksey Yeschenko

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment