[ https://issues.apache.org/jira/browse/HBASE-10147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13861158#comment-13861158 ]
takeshi.miao commented on HBASE-10147: -------------------------------------- [~gustavoanatoly] 1. For backward compatible for method _Sink.publishReadTiming_, I think that we still need to keep the method calls in the code, which means that the following code snippet should not be removed... {code} @@ -521,12 +537,10 @@ stopWatch.start(); table.get(get); stopWatch.stop(); - sink.publishReadTiming(region, column, stopWatch.getTime()); } else { stopWatch.start(); rs = table.getScanner(scan); stopWatch.stop(); - sink.publishReadTiming(region, column, stopWatch.getTime()); } } catch (Exception e) { sink.publishReadFailure(region, column, e); @@ -624,7 +662,6 @@ table.getScanner(scan); stopWatch.stop(); } - this.getSink().publishReadTiming(tableName, serverName, stopWatch.getTime()); } catch (TableNotFoundException tnfe) { // This is ignored because it doesn't imply that the regionserver is dead } catch (TableNotEnabledException tnee) { {code} 2. We can leave the method impl for _Sink.publishReadTiming_ to do nothing {code} public static class StdOutSink implements Sink { //... public void publishReadTiming(HRegionInfo region, HColumnDescriptor column, long msTime) { //DO NOTHING, for API backward compatibility } //... } {code} 3. The _Deprecated_ should put on the _interface_ {code} public interface Sink { //... /** * This method will be removed in the future release. * @deprecated {@link https://issues.apache.org/jira/browse/HBASE-10147} */ @Deprecated public void publishReadTiming(HRegionInfo region, HColumnDescriptor column, long msTime); //... } public static class StdOutSink implements Sink { //... @Override @Deprecated public void publishReadTiming(HRegionInfo region, HColumnDescriptor column, long msTime) { //... } //... } } {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-v3.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)