You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2015/01/13 16:55:35 UTC
[jira] [Created] (CASSANDRA-8609) Remove depency of hadoop to
internals (Cell/CellName)
Sylvain Lebresne created CASSANDRA-8609:
-------------------------------------------
Summary: 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
Fix For: 3.0
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)