cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "amorton (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-4924) Make CQL 3 data accessible via thrift.
Date Thu, 15 Nov 2012 01:12:13 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-4924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497672#comment-13497672
] 

amorton commented on CASSANDRA-4924:
------------------------------------

bq. It's the difference between backwards compatibility and forward-compatibility. This is
pretty basic.

My comment was not about the difference between backwards and forwards compatibility, or the
ease at which it can be understood. 

My point was that up until CASSANDRA-4377 very few people would have thought that, as a new
API, CQL stored data that the old API could not see. I certainly cannot remember reading anything
about it. The impression I had was that CQL and Thrift were sharing the storage engine. 

Enabling it for COMPACT_STORAGE is a good comprise, thanks for adding it. I think it will
give people some training wheels when it come to using CQL3. 







  
                
> Make CQL 3 data accessible via thrift.
> --------------------------------------
>
>                 Key: CASSANDRA-4924
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4924
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.2.0 beta 1
>            Reporter: amorton
>            Assignee: Jonathan Ellis
>              Labels: cli, cql
>             Fix For: 1.2.0 rc1
>
>
> 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:
> {noformat}
> 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
> {noformat}
> and in the CLI
> {noformat}
> [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] 
> {noformat}

--
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: http://www.atlassian.com/software/jira

Mime
View raw message