Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-11425 Cell/DBB end-to-end on the read-path
  3. HBASE-11934

Support KeyValueCodec to encode non KeyValue cells.

    XMLWordPrintableJSON

    Details

    • Hadoop Flags:
      Reviewed

      Description

      We have KeyValueCodec as the default RPC codec now. This can only encode KeyValue types and need to convert any non KV cell to KeyValue format. This is a expensive op.

        // This is crass and will not work when KV changes. Also if passed a non-kv Cell, it will
        // make expensive copy.
        // Do not write tags over RPC
        KeyValue.oswrite((KeyValue) KeyValueUtil.ensureKeyValue(cell), this.out, false);
      

      Now we want Cell to be in entire read path and don't want any copy until we write the cell to client.
      The optimization done in the DBE of avoiding copying of value bytes was also not getting real advantage bacause of this ensureKeyValue() call at the Codec.

      We can encode and write non KeyValue cells with KV serialization format and avoid the recreate.

        Attachments

        1. HBASE-11934.patch
          10 kB
          Anoop Sam John
        2. HBASE-11934_V2.patch
          10 kB
          Anoop Sam John

          Activity

            People

            • Assignee:
              anoop.hbase Anoop Sam John
              Reporter:
              anoop.hbase Anoop Sam John
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: