iwasakims commented on pull request #3872: URL: https://github.com/apache/hadoop/pull/3872#issuecomment-1026548903
Thanks for digging this, @functioner. While I can still reproduce the issue even with the latest patch.., `sleep` before `call` enabled by the `new TestServer(1, true)` might affect the probability. https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/ipc/TestIPC.java#L224-L229 Let me run the test for more iteration. ``` $ for i in `seq 100` ; do echo $i && mvn test -Dtest=TestIPC -Dmaven.test.failure.ignore=false || break ; done $ less target/surefire-reports/org.apache.hadoop.ipc.TestIPC-output.txt ... 2022-02-01 07:27:41,499 INFO ipc.CallQueueManager (CallQueueManager.java:<init>(93)) - Using callQueue: class java.util.concurrent.LinkedBlockingQueue, queueCapacity: 100, scheduler: class org.apache.hadoop.ipc.DefaultRpcScheduler, ipcBackoff: false. 2022-02-01 07:27:41,499 DEBUG ipc.Server (Server.java:getAuthMethods(3370)) - Server accepts auth methods:[SIMPLE] 2022-02-01 07:27:41,499 INFO ipc.Server (Server.java:run(1405)) - Starting Socket Reader #1 for port 0 2022-02-01 07:27:41,500 INFO ipc.Server (Server.java:run(1653)) - IPC Server Responder: starting 2022-02-01 07:27:41,500 INFO ipc.Server (Server.java:run(1484)) - IPC Server listener on 0: starting 2022-02-01 07:27:41,501 DEBUG ipc.Server (Server.java:run(3075)) - IPC Server handler 0 on default port 45829: starting 2022-02-01 07:27:41,502 WARN ipc.Server (Server.java:doAccept(1555)) - Error in an accepted SocketChannel java.io.IOException: Injected fault at org.apache.hadoop.ipc.TestIPC.maybeThrowIOE(TestIPC.java:425) at org.apache.hadoop.ipc.TestIPC$1.configureSocketChannel(TestIPC.java:631) at org.apache.hadoop.ipc.Server$Listener.doAccept(Server.java:1553) at org.apache.hadoop.ipc.Server$Listener.run(Server.java:1498) 2022-02-01 07:27:41,502 WARN ipc.TestIPC (TestIPC.java:testIOEOnListenerAccept(647)) - Got unexpected error java.io.IOException: DestHost:destPort ip-172-31-197-233.ap-northeast-1.compute.internal:45829 , LocalHost:localPort ip-172-31-197-233.ap-northeast-1.compute.internal/172.31.197.233:0. Failed on local exception: java.io.IOException: Connection reset by peer at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:931) at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:906) at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1616) at org.apache.hadoop.ipc.Client.call(Client.java:1558) at org.apache.hadoop.ipc.Client.call(Client.java:1477) at org.apache.hadoop.ipc.TestIPC.call(TestIPC.java:167) at org.apache.hadoop.ipc.TestIPC.call(TestIPC.java:160) at org.apache.hadoop.ipc.TestIPC.testIOEOnListenerAccept(TestIPC.java:642) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcherImpl.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) at sun.nio.ch.IOUtil.read(IOUtil.java:197) at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379) at org.apache.hadoop.net.SocketInputStream$Reader.performIO(SocketInputStream.java:57) at org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:141) at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:161) at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:131) at java.io.FilterInputStream.read(FilterInputStream.java:133) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read(BufferedInputStream.java:265) at java.io.FilterInputStream.read(FilterInputStream.java:83) at java.io.FilterInputStream.read(FilterInputStream.java:83) at org.apache.hadoop.ipc.Client$Connection$PingInputStream.read(Client.java:563) at java.io.DataInputStream.readInt(DataInputStream.java:387) at org.apache.hadoop.ipc.Client$IpcStreams.readResponse(Client.java:1922) at org.apache.hadoop.ipc.Client$Connection.receiveRpcResponse(Client.java: ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
