You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Elliott Clark (JIRA)" <ji...@apache.org> on 2014/05/28 23:55:02 UTC

[jira] [Commented] (HBASE-11267) Dynamic metrics2 metrics may consume large amount of heap memory

    [ https://issues.apache.org/jira/browse/HBASE-11267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14011662#comment-14011662 ] 

Elliott Clark commented on HBASE-11267:
---------------------------------------

Yep the interns stuff is just ugly.  IMO hadoop should never have done it.  We can create our own implementation that doesn't intern anything for regions.  Only slow changing metrics.

> Dynamic metrics2 metrics may consume large amount of heap memory
> ----------------------------------------------------------------
>
>                 Key: HBASE-11267
>                 URL: https://issues.apache.org/jira/browse/HBASE-11267
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>
> User sunweiei provided the following jmap output in 0.96 deployment:
> {code}
>  num     #instances         #bytes  class name
> ----------------------------------------------
>    1:      14917882     3396492464  [C
>    2:       1996994     2118021808  [B
>    3:      43341650     1733666000  java.util.LinkedHashMap$Entry
>    4:      14453983     1156550896  [Ljava.util.HashMap$Entry;
>    5:      14446577      924580928  org.apache.hadoop.metrics2.lib.Interns$CacheWith2Keys$2
> {code}
> Heap consumption by Interns$CacheWith2Keys$2 could be due to calls to Interns.info() in DynamicMetricsRegistry.
> This scenario would arise when large number of regions are tracked through metrics2.
> Interns class doesn't provide API to remove entries in its internal Map.
> Meaning, DynamicMetricsRegistry#clearMetrics() is unable to reclaim that part of heap.



--
This message was sent by Atlassian JIRA
(v6.2#6252)