[
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)