Details

    • Reviewed

    Description

      The cpu profiling shows that during PE randomWrite testing, about 1 percent of time is spent in cloneFamily. Reviewing code found that when a cell is DBB backed ByteBuffKeyValueCell (which is default with Netty Rpc), cell.getFamilyArray() will call cloneFamily() and there is again a cloneFamily() in the following line of the code. since this is the critical write path processing, this needs to be optimized.

      https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java#L791

      https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java#L795

      Attachments

        1. 2.0621.2.12782.alloc.svg
          187 kB
          Michael Stack
        2. 2.0623.111354.alloc.svg
          217 kB
          Michael Stack
        3. HBASE-20710.master.001.patch
          2 kB
          Michael Stack
        4. HBASE-20710-master-v002.patch
          3 kB
          Hua Xiang
        5. alloc-put-orig.svg
          224 kB
          Hua Xiang
        6. alloc-put-fix.svg
          213 kB
          Hua Xiang
        7. HBASE-20710-master-v002.patch
          3 kB
          Hua Xiang
        8. HBASE-20710-master-v001.patch
          9 kB
          Hua Xiang

        Issue Links

          Activity

            People

              huaxiang Hua Xiang
              huaxiang Hua Xiang
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: