HADOOP-18191. Log retry count while handling exceptions in RetryInvocationHandler (#4133)

This commit is contained in:
Viraj Jasani 2022-04-08 18:01:54 +05:30 committed by GitHub
parent 37650ced81
commit b69ede7154
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -387,12 +387,12 @@ private RetryInfo handleException(final Method method, final int callId,
throw retryInfo.getFailException();
}
log(method, retryInfo.isFailover(), counters.failovers, retryInfo.delay, e);
log(method, retryInfo.isFailover(), counters.failovers, counters.retries, retryInfo.delay, e);
return retryInfo;
}
private void log(final Method method, final boolean isFailover,
final int failovers, final long delay, final Exception ex) {
private void log(final Method method, final boolean isFailover, final int failovers,
final int retries, final long delay, final Exception ex) {
boolean info = true;
// If this is the first failover to this proxy, skip logging at INFO level
if (!failedAtLeastOnce.contains(proxyDescriptor.getProxyInfo().toString()))
@ -408,13 +408,15 @@ private void log(final Method method, final boolean isFailover,
}
final StringBuilder b = new StringBuilder()
.append(ex + ", while invoking ")
.append(ex)
.append(", while invoking ")
.append(proxyDescriptor.getProxyInfo().getString(method.getName()));
if (failovers > 0) {
b.append(" after ").append(failovers).append(" failover attempts");
}
b.append(isFailover? ". Trying to failover ": ". Retrying ");
b.append(delay > 0? "after sleeping for " + delay + "ms.": "immediately.");
b.append(" Current retry count: ").append(retries).append(".");
if (info) {
LOG.info(b.toString());