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

Jeremiah Jordan commented on CASSANDRA-8358:
--------------------------------------------

o.a.c.h.ColumnFamily* stuff is replaced bu o.a.c.h.cql3.Cql*.  We should either 
just drop those, or leave them alone and people can turn on thrift if they 
still need to use them.

o.a.c.h.pig.CqlStorage and o.a.c.h.pig.CassandraStorage are replaced by 
o.a.c.h.pig.CqlNativeStorage.  Same thing, either drop or leave alone.

Maybe just mark all that stuff deprecated and leave it alone for now.

I think the main task here is to make sure o.a.c.cql3.Cql* and 
o.a.c.h.pig.CqlNativeStorage all use the metadata api's and don't have any 
thrift calls.

We need CASSANDRA-7688 or similar to be able to replace the describe_splits_ex 
call.  So we have to leave that in for now, but should be able to clean 
everything else up.

> Bundled tools shouldn't be using Thrift API
> -------------------------------------------
>
>                 Key: CASSANDRA-8358
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8358
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Aleksey Yeschenko
>            Assignee: Philip Thompson
>             Fix For: 3.0
>
>
> In 2.1, we switched cqlsh to the python-driver.
> In 3.0, we got rid of cassandra-cli.
> Yet there is still code that's using legacy Thrift API. We want to convert it 
> all to use the java-driver instead.
> 1. BulkLoader uses Thrift to query the schema tables. It should be using 
> java-driver metadata APIs directly instead.
> 2. o.a.c.hadoop.cql3.CqlRecordWriter is using Thrift
> 3. o.a.c.hadoop.ColumnFamilyRecordReader is using Thrift
> 4. o.a.c.hadoop.AbstractCassandraStorage is using Thrift
> 5. o.a.c.hadoop.pig.CqlStorage is using Thrift
> Some of the things listed above use Thrift to get the list of partition key 
> columns or clustering columns. Those should be converted to use the Metadata 
> API of the java-driver.
> Somewhat related to that, we also have badly ported code from Thrift in 
> o.a.c.hadoop.cql3.CqlRecordReader (see fetchKeys()) that manually fetches 
> columns from schema tables instead of properly using the driver's Metadata 
> API.
> We need all of it fixed. One exception, for now, is 
> o.a.c.hadoop.AbstractColumnFamilyInputFormat - it's using Thrift for its 
> describe_splits_ex() call that cannot be currently replaced by any 
> java-driver call (?).
> Once this is done, we can stop starting Thrift RPC port by default in 
> cassandra.yaml.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to