java.io.io exception:异步IO操作失败(1),原因:RC:32损坏管道
I am getting given below error in application log, even though request processing completed successfully ie Producer process the request successfully .
Caused by: java.io.IOException: Async IO operation failed (1), reason: RC: 32 Broken pipe
at com.ibm.io.async.AsyncLibrary$IOExceptionCache.<init>(AsyncLibrary.java:924) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AsyncLibrary$IOExceptionCache.get(AsyncLibrary.java:937) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AsyncLibrary.getIOException(AsyncLibrary.java:951) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AbstractAsyncChannel.multiIO(AbstractAsyncChannel.java:482) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AsyncSocketChannelHelper.write(AsyncSocketChannelHelper.java:478) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.writeAIOSync(AioSocketIOChannel.java:353) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.tcp.channel.impl.AioTCPWriteRequestContextImpl.processSyncWriteRequest(AioTCPWriteRequestContextImpl.java:126) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.tcp.channel.impl.TCPWriteRequestContextImpl.write(TCPWriteRequestContextImpl.java:122) ~[?:CCX.CF [o1800.01]]
at com.ibm.ws.ssl.channel.impl.SSLUtils.flushCloseDown(SSLUtils.java:214) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLUtils.shutDownSSLEngine(SSLUtils.java:126) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.cleanup(SSLConnectionLink.java:228) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.close(SSLConnectionLink.java:172) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.close(HttpInboundLink.java:899) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.wsspi.channel.base.InboundApplicationLink.close(InboundApplicationLink.java:58) ~[?:CCX.CF [o1800.01]]
at com.ibm.ws.webcontainer.channel.WCChannelLink.close(WCChannelLink.java:333) ~[com.ibm.ws.webcontainer.jar:?]
at com.ibm.ws.webcontainer.channel.WCChannelLink.releaseChannelLink(WCChannelLink.java:503) ~[com.ibm.ws.webcontainer.jar:?]
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:405) ~[com.ibm.ws.webcontainer.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:289) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1187) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:694) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1833) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) ~[com.ibm.ws.runtime.jar:?]
at <unknown class>.<unknown method>(Unknown Source) ~[?:?]
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) ~[com.ibm.ws.runtime.jar:?]
Spring 5.3.13 ( REST controller) IBM WAS 9.0 JDK 1.8
消费者收到 504 Gateway Time Out错误 - 由于Java.io.io.ioexception:async io操作失败(1),原因:RC:生产者日志中的32个损坏的管道。
RC的原因是什么是什么?
I am getting given below error in application log, even though request processing completed successfully ie Producer process the request successfully .
Caused by: java.io.IOException: Async IO operation failed (1), reason: RC: 32 Broken pipe
at com.ibm.io.async.AsyncLibrary$IOExceptionCache.<init>(AsyncLibrary.java:924) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AsyncLibrary$IOExceptionCache.get(AsyncLibrary.java:937) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AsyncLibrary.getIOException(AsyncLibrary.java:951) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AbstractAsyncChannel.multiIO(AbstractAsyncChannel.java:482) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AsyncSocketChannelHelper.write(AsyncSocketChannelHelper.java:478) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.writeAIOSync(AioSocketIOChannel.java:353) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.tcp.channel.impl.AioTCPWriteRequestContextImpl.processSyncWriteRequest(AioTCPWriteRequestContextImpl.java:126) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.tcp.channel.impl.TCPWriteRequestContextImpl.write(TCPWriteRequestContextImpl.java:122) ~[?:CCX.CF [o1800.01]]
at com.ibm.ws.ssl.channel.impl.SSLUtils.flushCloseDown(SSLUtils.java:214) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLUtils.shutDownSSLEngine(SSLUtils.java:126) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.cleanup(SSLConnectionLink.java:228) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.close(SSLConnectionLink.java:172) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.close(HttpInboundLink.java:899) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.wsspi.channel.base.InboundApplicationLink.close(InboundApplicationLink.java:58) ~[?:CCX.CF [o1800.01]]
at com.ibm.ws.webcontainer.channel.WCChannelLink.close(WCChannelLink.java:333) ~[com.ibm.ws.webcontainer.jar:?]
at com.ibm.ws.webcontainer.channel.WCChannelLink.releaseChannelLink(WCChannelLink.java:503) ~[com.ibm.ws.webcontainer.jar:?]
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:405) ~[com.ibm.ws.webcontainer.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:532) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:318) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:289) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1187) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:694) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1833) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) ~[com.ibm.ws.runtime.jar:?]
at <unknown class>.<unknown method>(Unknown Source) ~[?:?]
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) ~[com.ibm.ws.runtime.jar:?]
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) ~[com.ibm.ws.runtime.jar:?]
Spring 5.3.13 ( REST controller) IBM WAS 9.0 JDK 1.8
Consumer received 504 gateway time out error - since java.io.IOException: Async IO operation failed (1), reason: RC: 32 Broken pipe in Producer log.
What could be the reason for RC: 32 Broken pipe ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于异步Web服务,客户端异步响应侦听器打开一个套接字,默认值为七秒钟以持续并聆听异步响应。如果服务器操作所需的时间比默认值更长,则服务器或客户端可能会收到以下例外:
java.io.ioexception:async io操作失败(1),原因:rc:32损坏的管道
此例外发生,因为持续读取超时客户端超出了限制,随后,连接已关闭。
当您读取大型数据时,或者有时在网络慢时,使用此属性(httpinboundperseadtimeout),以使服务器端的默认值高于读取数据的默认值高。如果您在服务器端收到损坏的管道异常,请增加此超时属性的值。
For asynchronous web services, the client asynchronous response listener opens a socket with the default value of seven seconds to persist and listen for asynchronous responses. If the server operation takes longer than the default value, the server or client might receive the following exception:
java.io.IOException: Async IO operation failed (1), reason: RC: 32 Broken pipe
This exception occurs because the persistent read timeout limit is exceeded on the client and subsequently, the connection is closed.
Use this property(HttpInboundPersistReadTimeout) when you are reading large data, or at times when the network is slow such that it takes more than the default value of seven seconds on the server side to read the data. If you receive the broken pipe exception on the server side, increase the value of this time out property.
我的应用程序(Spring REST)基于多线程。因此,一个或多个线程尝试编写单日志文件 - 这是原因。
https://logging.apache.apache.org/logg/log4j/2.x/手动/async.html
https://www.ibm.com/docs/en/was-nd/8.5.5.5?topic=services-services-http-transport-custom-properties-web-applications
现在不再有超时错误。
My application (Spring REST) based on multithreading .so one or more thread try to writing single log file - which is cause an issue .
https://logging.apache.org/log4j/2.x/manual/async.html
https://www.ibm.com/docs/en/was-nd/8.5.5?topic=services-http-transport-custom-properties-web-applications
Now no more time out error.