[
https://issues.apache.org/jira/browse/HBASE-22663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16889588#comment-16889588
]
Hudson commented on HBASE-22663:
--------------------------------
Results for branch master
[build #1246 on
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/master/1246/]: (x)
*{color:red}-1 overall{color}*
----
details (if available):
(/) {color:green}+1 general checks{color}
-- For more information [see general
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1246//General_Nightly_Build_Report/]
(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2)
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1246//JDK8_Nightly_Build_Report_(Hadoop2)/]
(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3)
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1246//JDK8_Nightly_Build_Report_(Hadoop3)/]
(/) {color:green}+1 source release artifact{color}
-- See build output for details.
(/) {color:green}+1 client integration test{color}
> 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
> Priority: Major
> Fix For: 3.0.0, 2.3.0
>
>
> 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.14#76016)