[ https://issues.apache.org/jira/browse/HDFS-13888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16732724#comment-16732724 ]
Jinglun commented on HDFS-13888: -------------------------------- Hi [~elgoiri], I add a test case to replay the case 3.1. I change some members' control accesses in Client.class in order to make the rpc thread blocks at Connection.sendRpcRequest(). For example I made Client.Connection from private to default, since Server.Connection is public, i think it might be alright to do that. I'm worried that changing control access of Client.class, which comes from hadoop-common, might be too much just for this test case. But I didn't figure out a better way to do it. Looking forward to your advice :). 3.2 and 3.3 don't cause any trouble, so I ignored them. > RequestHedgingProxyProvider shows InterruptedException > ------------------------------------------------------ > > Key: HDFS-13888 > URL: https://issues.apache.org/jira/browse/HDFS-13888 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 3.1.1 > Reporter: Íñigo Goiri > Assignee: Jinglun > Priority: Minor > Attachments: HDFS-13888.001.patch, HDFS-13888.002.patch > > > RequestHedgingProxyProvider shows InterruptedException when running: > {code} > 2018-08-30 23:52:48,883 WARN 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:1142) > at org.apache.hadoop.ipc.Client.call(Client.java:1395) > at org.apache.hadoop.ipc.Client.call(Client.java:1353) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) > at com.sun.proxy.$Proxy11.getFileInfo(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:900) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.hadoop.hdfs.server.namenode.ha.RequestHedgingProxyProvider$RequestHedgingInvocationHandler$1.call(RequestHedgingProxyProvider.java:135) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > 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) > {code} > It looks like this is the case of the background request that is killed once > the main one succeeds. We should not log the full stack trace for this and > maybe just a debug log. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org