Cassandra
  1. Cassandra
  2. CASSANDRA-4924

Make CQL 3 data accessible via thrift.

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Fix Version/s: 1.2.0 beta 3
    • Component/s: Core
    • Labels:

      Description

      Following the changes from CASSANDRA-4377 data created using CQL 3 is not visible via the thrift interface.

      This goes against the spirit of many comments by the project that "the thrift API is not going away". These statements and ones such as "Internally, both CQL3 and thrift use the same storage engine, so all future improvements to this engine will impact both of them equally." (http://www.datastax.com/dev/blog/thrift-to-cql3) and the CQL3 and thrift examples given here http://www.datastax.com/dev/blog/cql3-for-cassandra-experts gave the impression CQL 3 was a layer on top of the core storage engine. It now appears to be an incompatible format change.

      It makes it impossible to explain to existing using users how CQL 3 stores it's data.

      It also creates an all or nothing approach to trying CQL 3.

      My request is to make all data written by CQL 3 readable via the thrift API.

      An example of using the current 1.2 trunk is below:

      cqlsh:cass_college> CREATE TABLE UserTweets 
                      ... (
                      ...     tweet_id    bigint,
                      ...     user_name   text,
                      ...     body        text,
                      ...     timestamp   timestamp,
                      ...     PRIMARY KEY (user_name, tweet_id)
                      ... );
      cqlsh:cass_college> INSERT INTO 
                      ...     UserTweets
                      ...     (tweet_id, body, user_name, timestamp)
                      ... VALUES
                      ...     (1, 'The Tweet', 'fred', 1352150816917);
      cqlsh:cass_college> 
      cqlsh:cass_college> 
      cqlsh:cass_college> select * from UserTweets;
      
       user_name | tweet_id | body      | timestamp
      -----------+----------+-----------+--------------------------
            fred |        1 | The Tweet | 2012-11-06 10:26:56+1300
      

      and in the CLI

      [default@cass_college] show schema;
      create keyspace cass_college
        with placement_strategy = 'SimpleStrategy'
        and strategy_options = {replication_factor : 3}
        and durable_writes = true;
      
      use cass_college;
      
      
      
      [default@cass_college] list UserTweets;
      UserTweets not found in current keyspace.
      [default@cass_college] 
      

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Jonathan Ellis
              Reporter:
              amorton
              Reviewer:
              Jason Brown
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development