[
https://issues.apache.org/jira/browse/HBASE-10147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13859293#comment-13859293
]
takeshi.miao commented on HBASE-10147:
--------------------------------------
Hi [~gustavoanatoly],
> about _Sink_ API usage, I found only inside _Canary_ Tool
This API is not depended by other codes in HBase project, but I mentioned
> The public API is broken, since the Sink interface is changed
which means that if I am a HBase user, I may want to extends this _'Sink'_
interface for other monitoring purpose if I see the [API doc
|http://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/tool/Canary.html#nested_class_summary];
For example, I could extend the _Sink_ API to provide a JDBC impl. to let the
_Sink_ push data to RDBMS for monitoring purpose, or something like that. The
_Sink_ interface had been _*public*_ from first release till now (0.92, you can
see HBASE-4393), so I am not sure how many users in the world would use this
kind of feature to make their _Sink_ impl.; I need to point it out that this is
a public API change and which might impact users' currently smooth running
monitoring mechanism. Simply change the API and point it out in the release
notes is a good way as well, I think.
BTW, why we remove the _table.close()_ in the patch-v02 ?
{code}
> @@ -472,17 +472,13 @@
> return;
> }
>
> - try {
> - for (HRegionInfo region : admin.getTableRegions(tableDesc.getName())) {
> - try {
> - sniffRegion(admin, sink, region, table);
> - } catch (Exception e) {
> - sink.publishReadFailure(region, e);
> - LOG.debug("sniffRegion failed", e);
> - }
> + for (HRegionInfo region : admin.getTableRegions(tableDesc.getName())) {
> + try {
> + sniffRegion(admin, sink, region, table);
> + } catch (Exception e) {
> + sink.publishReadFailure(region, e);
> + LOG.debug("sniffRegion failed", e);
> }
> - } finally {
> - table.close(); // <--- I mean here by takeshi.miao
> }
{code}
> Canary additions
> ----------------
>
> Key: HBASE-10147
> URL: https://issues.apache.org/jira/browse/HBASE-10147
> Project: HBase
> Issue Type: Improvement
> Reporter: stack
> Assignee: Gustavo Anatoly
> Attachments: HBASE-10147-v2.patch, HBASE-10147.patch,
> HBASE-10147.patch, HBASE-10147.patch, HBASE-10147.patch
>
>
> I've been using the canary to quickly identify the dodgy machine in my
> cluster. It is useful for this. What would make it better would be:
> + Rather than saying how long it took to get a region after you have gotten
> the region, it'd be sweet to log BEFORE you went to get the region the
> regionname and the server it is on. I ask for this because as is, I have to
> wait for the canary to timeout which can be a while.
> + Second ask is that when I pass the -t, that when it fails, it says what it
> failed against -- what region and hopefully what server location (might be
> hard).
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)