Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-8609

Remove depency of hadoop to internals (Cell/CellName)

    XMLWordPrintableJSON

Details

    • Normal

    Description

      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.

      Attachments

        1. 8609-2.2.txt
          35 kB
          Philip Thompson
        2. 8609-2.2-2.txt
          33 kB
          Philip Thompson
        3. CASSANDRA-8609-3.0-branch.txt
          34 kB
          Alex Liu

        Issue Links

          Activity

            People

              samt Sam Tunnicliffe
              slebresne Sylvain Lebresne
              Sam Tunnicliffe
              Philip Thompson
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: