[
https://issues.apache.org/jira/browse/CASSANDRA-8609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14569536#comment-14569536
]
Sam Tunnicliffe commented on CASSANDRA-8609:
--------------------------------------------
Not just yet I'm afraid, there are still some dependencies on internals like
{{IPartitioner}}, {{AbstractType}} in determining splits.
Ideally, the Hadoop integration code shouldn't have any dependencies beyond the
cql driver and thrift (and client-utils). For that to happen though, we'll need
to duplicate a few internal things to enable the split sizing done entirely
client side along the lines of
[SPARKC-94|https://datastax-oss.atlassian.net/browse/SPARKC-94]). Maybe that
should be done as part of CASSANDRA-9353.
There are also some dependencies in {{CqlBulkRecordWriter}} ({{CFMetaData}},
{{Config}}, {{DatabaseDescriptor}}) which can't easily be removed yet.
> 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: Sam Tunnicliffe
> Fix For: 2.2.0 rc1
>
> Attachments: 8609-2.2-2.txt, 8609-2.2.txt,
> 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)