You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jerry He (JIRA)" <ji...@apache.org> on 2016/06/30 05:30:10 UTC
[jira] [Updated] (HBASE-16149) Log the underlying RPC exception in
RpcRetryingCallerImpl
[ https://issues.apache.org/jira/browse/HBASE-16149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jerry He updated HBASE-16149:
-----------------------------
Status: Patch Available (was: Open)
> Log the underlying RPC exception in RpcRetryingCallerImpl
> ----------------------------------------------------------
>
> Key: HBASE-16149
> URL: https://issues.apache.org/jira/browse/HBASE-16149
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 1.2.0
> Reporter: Jerry He
> Assignee: Jerry He
> Priority: Minor
> Attachments: HBASE-16149.patch
>
>
> In RpcRetryingCallerImpl:
> {code}
> public T callWithRetries(RetryingCallable<T> callable, int callTimeout)
> throws IOException, RuntimeException {
> ...
> for (int tries = 0;; tries++) {
> try {
> ...
> return callable.call(getTimeout(callTimeout));
> ...
> } catch (Throwable t) {
> ExceptionUtil.rethrowIfInterrupt(t);
> if (tries > startLogErrorsCnt) {
> LOG.info("Call exception, tries=" + tries + ", maxAttempts=" + maxAttempts + ", started="
> + (EnvironmentEdgeManager.currentTime() - tracker.getStartTime()) + " ms ago, "
> + "cancelled=" + cancelled.get() + ", msg="
> + callable.getExceptionMessageAdditionalDetail());
> }
> ...
> {code}
> We log the callable.getExceptionMessageAdditionalDetail() msg. But callable.getExceptionMessageAdditionalDetail() may not provide the underlying cause..
> For example, in AbstractRegionServerCallable,
> {code}
> public String getExceptionMessageAdditionalDetail() {
> return "row '" + Bytes.toString(row) + "' on table '" + tableName + "' at " + location;
> }
> {code}
> Let's add the underlying exception cause to the message as well.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)