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

Hadoop QA commented on HBASE-15742:
-----------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:red}-1{color} | {color:red} patch {color} | {color:red} 0m 4s {color} 
| {color:red} HBASE-15742 does not apply to master. Rebase required? Wrong 
Branch? See https://yetus.apache.org/documentation/0.2.1/precommit-patchnames 
for help. {color} |
\\
\\
|| Subsystem || Report/Notes ||
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12801925/HBASE-15742-0.98-v1.patch
 |
| JIRA Issue | HBASE-15742 |
| Console output | 
https://builds.apache.org/job/PreCommit-HBASE-Build/1730/console |
| Powered by | Apache Yetus 0.2.1   http://yetus.apache.org |


This message was automatically generated.



> Reduce allocation of objects in metrics
> ---------------------------------------
>
>                 Key: HBASE-15742
>                 URL: https://issues.apache.org/jira/browse/HBASE-15742
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.3.0, 1.2.1, 1.0.3, 1.1.4, 0.98.19
>            Reporter: Phil Yang
>            Assignee: Phil Yang
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 1.2.2, 0.98.20
>
>         Attachments: HBASE-15742-0.98-v1.patch, 
> HBASE-15742-branch-1-v1.patch, HBASE-15742-branch-1.1-v1.patch, 
> HBASE-15742-branch-1.2-v1.patch, HBASE-15742-branch-1.2-v2.patch, 
> HBASE-15742-v1.patch, HBASE-15742-v2.patch, HBASE-15742-v3.patch, 
> HBASE-15742-v4.patch
>
>
> We use JMX and o.a.h.metrics2 to do some metrics on regions, tables, region 
> servers and cluster. We use MetricsInfo to show the information of metrics, 
> and we use Interns to cache MetricsInfo objects because it won't be changed.
> However, in Interns there are some static values to limit the max cached 
> objects. We can only cache 2010 metrics, but we have dozens of metrics for 
> one region and we have some RS-level metrics in each RS and all metrics for 
> all regions will be saved in master. So each server will have thousands of 
> metrics, and we can not cache most of them. When we collect metrics by JMX, 
> we will create many objects which can be avoid. It increases the pressure of 
> GC and JMX has some caching logic so the objects can not be removed 
> immediately which increases the pressure more.
> Interns is in Hadoop project, and I think the implementation is not suitable 
> for HBase. Because we can not know how many MetricsInfo we have, it depends 
> on the number of regions. And we can not set it unlimited because we should 
> remove the objects whose region is split, moved, or dropped. I think we can 
> use Guava's cache with expireAfterAccess which is very simple and convenient.
> So we can add a new Interns class in HBase project first, and put it to 
> upstream later.
> Moreover, in MutableHistogram#snapshot we create same Strings each time, we 
> can create them only in the first time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to