cassandra-commits mailing list archives

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

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

Edward Capriolo commented on CASSANDRA-4924:
--------------------------------------------

{quote}
I see your point about not letting 2012 Hector (or astyanax ) do the wrong thing and bork
any CQL3 data set it thinks it's safely using. I was thinking skirting around the issue and
exposing it thrift was OK, but now, thinking more about it, I'm less convinced of that. Having
the CLI be able to have access to CQL3 data, however, I think is the safest route as far as
a transition to CQL3.
{quote}

http://www.datastax.com/dev/blog/thrift-to-cql3 

{quote}
But the thrift API is not going anywhere. Existing applications do not have to upgrade to
CQL3. 
{quote}

We don't have to upgrade, but without some schema hints it becomes increasingly more difficult
to work with. This is more like a meet-me-half-way deal. To use thrift I need some clue as
to what the thrift schema looks like. validation exceptions will help me with the rest. 
                
> 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