hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zheng Hu (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-22663) The HeapAllocationRatio in WebUI is not accurate because all of the heap allocation will happen in another separated allocator named HEAP
Date Mon, 08 Jul 2019 03:51:00 GMT
Zheng Hu created HBASE-22663:
--------------------------------

             Summary: The HeapAllocationRatio in WebUI is not accurate because all of the
heap allocation will happen in another separated allocator named HEAP
                 Key: HBASE-22663
                 URL: https://issues.apache.org/jira/browse/HBASE-22663
             Project: HBase
          Issue Type: Sub-task
            Reporter: Zheng Hu
            Assignee: Zheng Hu


We use the following method to calculate the heap allocation ratio:
{code}
public double getHeapAllocationRatio() {
    long heapAllocBytes = heapAllocationBytes.sum(), poolAllocBytes = poolAllocationBytes.sum();
    double heapDelta = heapAllocBytes - lastHeapAllocationBytes;
    double poolDelta = poolAllocBytes - lastPoolAllocationBytes;
    lastHeapAllocationBytes = heapAllocBytes;
    lastPoolAllocationBytes = poolAllocBytes;
    if (Math.abs(heapDelta + poolDelta) < 1e-3) {
      return 0.0;
    }
    return heapDelta / (heapDelta + poolDelta);
  }
{code} 

While we also defined a static allocator instance, named HEAP:
{code}
  // The on-heap allocator is mostly used for testing, but also some non-test usage, such
as
  // scanning snapshot, we won't have an RpcServer to initialize the allocator, so just use
the
  // default heap allocator, it will just allocate ByteBuffers from heap but wrapped by an
ByteBuff.
  public static final ByteBuffAllocator HEAP = ByteBuffAllocator.createOnHeap();
{code}

Almost all of the heap allocation happen in the HEAP,  which means the heap allocation ratio
caculated from the rpc ByteBuffAllocator will be not accurate.

Will prepare a patch to  address this minor bug. 




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message