[ 
https://issues.apache.org/jira/browse/HADOOP-16208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17253662#comment-17253662
 ] 

Konstantin Shvachko commented on HADOOP-16208:
----------------------------------------------

I see this exception regularly in StandbyNode and ObserverNode logs. When SBN 
does journal tailing as a part of fast tailing SBN makes a quorum call to QJM. 
When it receives enough responses it legitimately cancels the remaining 
unfinished calls. This is when we get this exception printed. See 
{{o.a.h.ipc.Client.call()}} and 
{{QuorumJournalManager.selectRpcInputStreams()}} where it invokes 
{{q.cancelCalls()}}. Looks like this:
{noformat:nowrap}
2020-12-22 18:00:26,690 WARN org.apache.hadoop.ipc.Client: interrupted waiting 
to send rpc request to server
java.lang.InterruptedException
        at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:404)
        at java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at 
org.apache.hadoop.ipc.Client$Connection.sendRpcRequest(Client.java:1162)
        at org.apache.hadoop.ipc.Client.call(Client.java:1441)
        at org.apache.hadoop.ipc.Client.call(Client.java:1388)
        at 
org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)
        at 
org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:118)
        at com.sun.proxy.$Proxy12.getJournaledEdits(Unknown Source)
        at 
org.apache.hadoop.hdfs.qjournal.protocolPB.QJournalProtocolTranslatorPB.getJournaledEdits(QJournalProtocolTranslatorPB.java:268)
        at 
org.apache.hadoop.hdfs.qjournal.client.IPCLoggerChannel$13.call(IPCLoggerChannel.java:562)
        at 
org.apache.hadoop.hdfs.qjournal.client.IPCLoggerChannel$13.call(IPCLoggerChannel.java:559)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
{noformat}
Not a bug by itself but makes people worry if there is a problem, and it is 
pretty annoying. Will cherry pick into 2.10 as well.

> Do Not Log InterruptedException in Client
> -----------------------------------------
>
>                 Key: HADOOP-16208
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16208
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: common
>    Affects Versions: 3.2.0
>            Reporter: David Mollitor
>            Assignee: David Mollitor
>            Priority: Minor
>             Fix For: 3.3.0, 3.2.1, 3.1.3
>
>         Attachments: HADOOP-16208.1.patch, HADOOP-16208.2.patch, 
> HADOOP-16208.3.patch
>
>
> {code:java}
>        } catch (InterruptedException e) {
>         Thread.currentThread().interrupt();
>         LOG.warn("interrupted waiting to send rpc request to server", e);
>         throw new IOException(e);
>       }
> {code}
> https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java#L1450
> I'm working on a project that uses an {{ExecutorService}} to launch a bunch 
> of threads.  Each thread spins up an HDFS client connection.  At any point in 
> time, the program can terminate and call {{ExecutorService#shutdownNow()}} to 
> forcibly close vis-à-vis {{Thread#interrupt()}}.  At that point, I get a 
> cascade of logging from the above code and there's no easy to way to turn it 
> off.
> "Log and throw" is generally frowned upon, just throw the {{Exception}} and 
> move on.
> https://community.oracle.com/docs/DOC-983543#logAndThrow



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to