You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Philip Thompson (JIRA)" <ji...@apache.org> on 2015/05/28 17:39:19 UTC

[jira] [Comment Edited] (CASSANDRA-8609) Remove depency of hadoop to internals (Cell/CellName)

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

Philip Thompson edited comment on CASSANDRA-8609 at 5/28/15 3:39 PM:
---------------------------------------------------------------------

[~beobal], now that CASSANDRA-9442 is committed, final patch is at https://github.com/apache/cassandra/compare/cassandra-2.2...ptnapoleon:cassandra-8609-final

or attached as 8609-2.2-2.txt

CI results at http://cassci.datastax.com/view/Dev/view/ptnapoleon/job/ptnapoleon-cassandra-8609-final-testall/lastCompletedBuild/testReport/


was (Author: philipthompson):
[~beobal], now that CASSANDRA-9442 is committed, final patch is at https://github.com/apache/cassandra/compare/cassandra-2.2...ptnapoleon:cassandra-8609-final

or attached as 8609-2.2-2.txt
Will post results from CI when they're done.

> 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.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)