From 33e7c3044f6d60db4c09b5f61aa0f53062a96579 Mon Sep 17 00:00:00 2001 From: Junping Du Date: Wed, 8 Feb 2017 02:11:19 -0800 Subject: [PATCH] YARN-6145. Improve log message on fail over. Contributed by Jian He. (cherry picked from commit eec52e158b7bc14b2d3d53512323ba05e15e09e3) --- .../apache/hadoop/io/retry/RetryInvocationHandler.java | 8 +++++--- .../src/main/java/org/apache/hadoop/ipc/Client.java | 6 ++++-- .../client/RequestHedgingRMFailoverProxyProvider.java | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java index c657d20709d..8487602910a 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/retry/RetryInvocationHandler.java @@ -130,7 +130,9 @@ public class RetryInvocationHandler implements RpcInvocationHandler { Thread.sleep(retryInfo.delay); } catch (InterruptedException e) { Thread.currentThread().interrupt(); - LOG.warn("Interrupted while waiting to retry", e); + if (LOG.isDebugEnabled()) { + LOG.debug("Interrupted while waiting to retry", e); + } InterruptedIOException intIOE = new InterruptedIOException( "Retry interrupted"); intIOE.initCause(e); @@ -375,7 +377,7 @@ public class RetryInvocationHandler implements RpcInvocationHandler { } final StringBuilder b = new StringBuilder() - .append("Exception while invoking ") + .append(ex + ", while invoking ") .append(proxyDescriptor.getProxyInfo().getString(method.getName())); if (failovers > 0) { b.append(" after ").append(failovers).append(" failover attempts"); @@ -384,7 +386,7 @@ public class RetryInvocationHandler implements RpcInvocationHandler { b.append(delay > 0? "after sleeping for " + delay + "ms.": "immediately."); if (info) { - LOG.info(b.toString(), ex); + LOG.info(b.toString()); } else { LOG.debug(b.toString(), ex); } diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java index 1f2b60740c0..5d3f22f9bfb 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java @@ -912,8 +912,10 @@ public class Client implements AutoCloseable { } if (action.action == RetryAction.RetryDecision.FAIL) { if (action.reason != null) { - LOG.warn("Failed to connect to server: " + server + ": " - + action.reason, ioe); + if (LOG.isDebugEnabled()) { + LOG.debug("Failed to connect to server: " + server + ": " + + action.reason, ioe); + } } throw ioe; } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RequestHedgingRMFailoverProxyProvider.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RequestHedgingRMFailoverProxyProvider.java index 9468f4e90e0..13c02af4ddf 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RequestHedgingRMFailoverProxyProvider.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RequestHedgingRMFailoverProxyProvider.java @@ -144,6 +144,8 @@ public class RequestHedgingRMFailoverProxyProvider args); } + LOG.info("Looking for the active RM in " + Arrays.toString(rmServiceIds) + + "..."); ExecutorService executor = null; CompletionService completionService; try { @@ -166,7 +168,7 @@ public class RequestHedgingRMFailoverProxyProvider Object retVal; try { retVal = callResultFuture.get(); - LOG.info("Invocation successful on [" + pInfo + "]"); + LOG.info("Found active RM [" + pInfo + "]"); return retVal; } catch (Exception ex) { // Throw exception from first responding RM so that clients can handle @@ -192,7 +194,7 @@ public class RequestHedgingRMFailoverProxyProvider @Override public void performFailover(T currentProxy) { - LOG.info("Connection lost, trying to fail over."); + LOG.info("Connection lost with " + successfulProxy + ", trying to fail over."); successfulProxy = null; } }