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

Reduce garbage created by path.toString() during Checksum verification

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.3.0, 2.0.0
    • regionserver
    • None
    • Reviewed

    Description

      When we try to read a block we do checksum verification for which we need the file name in which the block belongs to. So we do Path.toString() every time. This seems to create around 163MB of char[] that is garbage collected in a simple scan run. It is also visible in writes but the impact is lesser. In overall write/read profile the top 2 factors are byte[] and char[]. This toString() can easily be avoided and reduce its share from the total. To make it more precise in 1 min of profiling, among the 1.8G of garbage created by StringBuilder.toString - this path.toString() was contributing around 3.5%. After the patch this is totally not there.

      Attachments

        1. HBASE-15203.patch
          3 kB
          ramkrishna.s.vasudevan
        2. HBASE-15203_1.patch
          5 kB
          ramkrishna.s.vasudevan
        3. HBASE-15203_2.patch
          6 kB
          ramkrishna.s.vasudevan
        4. HBASE-15203_branch-1.1.patch
          5 kB
          ramkrishna.s.vasudevan

        Activity

          People

            ram_krish ramkrishna.s.vasudevan
            ram_krish ramkrishna.s.vasudevan
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: