hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Bertozzi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7525) A canary monitoring program specifically for regionserver
Date Tue, 30 Apr 2013 14:04:16 GMT

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

Matteo Bertozzi commented on HBASE-7525:
----------------------------------------

There's a problem with the first regions on Get(region.getStartKey()) that throws an exception
since the start key may be null. so you get a wrong report "read from region xyz failed".

Could you extract the list of names in the Canary.run() where you do all the other parse instead
passing the args + index around? or at least add a comment of what is the args + index...
it's a bit anonymous if you don't read the rest of the code...

It's not documented in the coding style, but I don't like the "Yoda Conditions" (null != obj)
we've already some of them in but most of the code is (obj != null) so my guess is that is
better to stay inline with what we've already.

                
> A canary monitoring program specifically for regionserver
> ---------------------------------------------------------
>
>                 Key: HBASE-7525
>                 URL: https://issues.apache.org/jira/browse/HBASE-7525
>             Project: HBase
>          Issue Type: New Feature
>          Components: monitoring
>    Affects Versions: 0.94.0
>            Reporter: takeshi.miao
>            Priority: Minor
>             Fix For: 0.95.0
>
>         Attachments: HBASE-7525-0.95-v0.patch, HBASE-7525-v0.patch, RegionServerCanary.java
>
>
> *Motivation*
> This ticket is to provide a canary monitoring tool specifically for HRegionserver, details
as follows
> 1. This tool is required by operation team due to they thought that the canary for each
region of a HBase is too many for them, so I implemented this coarse-granular one based on
the original o.a.h.h.tool.Canary for them
> 2. And this tool is implemented by multi-threading, which means the each Get request
sent by a thread. the reason I use this way is due to we suffered the region server hung issue
by now the root cause is still not clear. so this tool can help operation team to detect hung
region server if any.
> *example*
> 1. the tool docs
> ./bin/hbase org.apache.hadoop.hbase.tool.RegionServerCanary -help
> Usage: [opts] [regionServerName 1 [regionServrName 2...]]
>  regionServerName - FQDN serverName, can use linux command:hostname -f to check your
serverName
>  where [-opts] are:
>    -help Show this help and exit.
>    -e    Use regionServerName as regular expression
>       which means the regionServerName is regular expression pattern
>    -f <B>         stop whole program if first error occurs, default is true
>    -t <N>         timeout for a check, default is 600000 (milisecs)
>    -daemon        Continuous check at defined intervals.
>    -interval <N>  Interval between checks (sec)
> 2. Will send a request to each regionserver in a HBase cluster
> ./bin/hbase org.apache.hadoop.hbase.tool.RegionServerCanary
> 3. Will send a request to a regionserver by given name
> ./bin/hbase org.apache.hadoop.hbase.tool.RegionServerCanary rs1.domainname
> 4. Will send a request to regionserver(s) by given regular-expression
> /opt/trend/circus-opstool/bin/hbase-canary-monitor-each-regionserver.sh -e rs1.domainname.pattern
> // another example
> ./bin/hbase org.apache.hadoop.hbase.tool.RegionServerCanary -e tw-poc-tm-puppet-hdn[0-9]\{1,2\}.client.tw.trendnet.org
> 5. Will send a request to a regionserver and also set a timeout limit for this test
> // query regionserver:rs1.domainname with timeout limit 10sec
> // -f false, means that will not exit this program even test failed
> ./bin/hbase org.apache.hadoop.hbase.tool.RegionServerCanary -f false -t 10000 rs1.domainname
> // echo "1" if timeout
> echo "$?"
> 6. Will run as daemon mode, which means it will send request to each regionserver periodically
> ./bin/hbase org.apache.hadoop.hbase.tool.RegionServerCanary -daemon

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message