hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elliott Clark (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-10436) hbase 0.96+ jmx metrics do not have regionserver info any more.
Date Wed, 29 Jan 2014 09:38:11 GMT

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

Elliott Clark edited comment on HBASE-10436 at 1/29/14 9:37 AM:
----------------------------------------------------------------

First this patch only addresses jmx and not the actual metrics system. (See how the other
HMaster metrics are exposed; Interfaces in hbase-hadoop-compat and implementations in hbase-hadoop1|2-compat)

Secondly, This will synchronize on the online servers list everytime that JMX is polled. 
That seems pretty onerous for exposing the list of region servers.  That api already exists;
We should have one way of getting that list, not multiple.

Thirdly I disagree that the metrics api should be treated like the user api.  It's not the
same at all.  If the HTable interface changes then compatibility is broken and users aren't
able to get or put data.  If the metrics interface changes then some charts aren't filled
in.  Those seems very different to me.  Also there is no concept of deprecation with metrics.
 That just isn't ever surfaced to users.  We told users the metrics would change very early
in 0.95 so there was notice given in this case. If we can't make changes with 0.96 then it
will be tough to ever iterate on these.

Finally I feel that since metrics are very closely tied to the internals of HBase they should
be treated as internal interfaces(limited private annotation equivalent).  For example:
* When/If we ever change to have lots of HLogs that will require metrics to change.
* Changing the memstore to be all off heap will require re-working the metrics.
* Different RPC servers will have very different metrics (different queues)

Change of the system shouldn't be held up because metrics will change.


was (Author: eclark):
First this patch only addresses jmx and not the actual metrics system. (See how the other
HMaster metrics are exposed; Interfaces in hbase-hadoop-compat and implementations in hbase-hadoop1|2-compat)

Secondly, This will synchronize on the online servers list everytime that JMX is polled. 
That seems pretty onerous for exposing the list of region servers.  That api already exists;
We should have one way of getting that list, not multiple.

Finally I disagree that the metrics api should be treated like the user api.  It's not the
same at all.  If the HTable interface changes then compatibility is broken and users aren't
able to get or put data.  If the metrics interface changes then some charts aren't filled
in.  Those seems very different to me.  Also there is no concept of deprecation with metrics.
 That just isn't ever surfaced to 

> hbase 0.96+ jmx metrics do not have regionserver info any more.
> ---------------------------------------------------------------
>
>                 Key: HBASE-10436
>                 URL: https://issues.apache.org/jira/browse/HBASE-10436
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.0, 0.96.0, 0.99.0
>            Reporter: Jonathan Hsieh
>            Assignee: Jonathan Hsieh
>            Priority: Critical
>         Attachments: hbase-10436.patch
>
>
> HBase 0.96's refactored jmx beans do not contain the master's list of dead region servers
and live regionservers with load info.  HBase 0.94 did (though in a single monolithic blob).
 
> This JMX interface should be considered as much of an API as the the normal wire or java
api.  Dropping values from this was done without deprecation and the removal of this information
is a functional regression.
> We should provide the information in the 0.96+ JMX.  HBase 0.94 had a  monolithic JMX
blob ("hadoop:service=Master,name=Master")  that contained a lot of information, including
the regionserver list and the cached regionserver load for each region  found on the master
webpage.  0.96+ refactored jmx this into several jmx beans which could be selectively retrieved.
 These include:
> * hadoop:service=HBase,name=Master,sub=AssignmentManager
> * hadoop:service=HBase,name=Master,sub=Balancer
> * hadoop:service=HBase,name=Master,sub=Server
> * hadoop:service=HBase,name=Master,sub=FileSystem
> Specifically the (Hadoop:service=HBase,name=Master,sub=Server) listing that used to contain
regionservers and deadregionservers in jmx were replaced in   with numRegionServers and numDeadRegionservers
which only contain counts.  
> I propose just adding another mbean called "RegionServers" under the bean: "hadoop:service=HBase,name=Master,sub=RegionServers"



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message