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)

Reply via email to