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

Aleksey Yeschenko commented on CASSANDRA-8609:
----------------------------------------------

With Thrift-based Hadoop code going away in 3.0/CASSANDRA-9353 it's important 
that the 2.2 versions of it can work without any internal dependencies (so that 
you can use the 2.2 versions with 3.0, if you need to).

> Remove depency of hadoop to internals (Cell/CellName)
> -----------------------------------------------------
>
>                 Key: CASSANDRA-8609
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8609
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sylvain Lebresne
>            Assignee: Philip Thompson
>             Fix For: 2.2 rc1
>
>         Attachments: CASSANDRA-8609-3.0-branch.txt
>
>
> For some reason most of the Hadoop code (ColumnFamilyRecordReader, 
> CqlStorage, ...) uses the {{Cell}} and {{CellName}} classes. That dependency 
> is entirely artificial: all this code is really client code that communicate 
> with Cassandra over thrift/native protocol and there is thus no reason for it 
> to use internal classes. And in fact, thoses classes are used in a very crude 
> way, as a {{Pair<ByteBuffer, ByteBuffer>}} really.
> But this dependency is really painful when we make changes to the internals. 
> Further, every time we do so, I believe we break some of those the APIs due 
> to the change. This has been painful for CASSANDRA-5417 and this is now 
> painful for CASSANDRA-8099. But while I somewhat hack over it in 
> CASSANDRA-5417, this was a mistake and we should have removed the depency 
> back then. So let do that now.



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

Reply via email to