Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-15179 Cell/DBB end-to-end on the write-path
  3. HBASE-16205

When Cells are not copied to MSLAB, deep clone it while adding to Memstore

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • regionserver
    • None
    • Reviewed

    Description

      This is imp after HBASE-15180 optimization. After that we the cells flowing in write path will be backed by the same byte[] where the RPC read the request into. By default we have MSLAB On and so we have a copy operation while adding Cells to memstore. This copy might not be there if
      1. MSLAB is turned OFF
      2. Cell size is more than a configurable max size. This defaults to 256 KB
      3. If the operation is Append/Increment.

      In such cases, we should just clone the Cell into a new byte[] and then add to memstore. Or else we keep referring to the bigger byte[] chunk for longer time.

      Attachments

        1. HBASE-16205_V2.patch
          3 kB
          Anoop Sam John
        2. HBASE-16205_V3.patch
          8 kB
          Anoop Sam John
        3. HBASE-16205_V3.patch
          8 kB
          Anoop Sam John
        4. HBASE-16205.patch
          3 kB
          Anoop Sam John

        Activity

          People

            anoop.hbase Anoop Sam John
            anoop.hbase Anoop Sam John
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: