A WorldServer Legacy API integration is throwing below errors after an upgrade. The process connects to WorldServer and normally takes 12-15 minutes to read through all of the projects/tasks. When this error occurs, the process dies after about 3-4 minutes. The exception is: Exception: Exception in thread "main" java.lang.RuntimeException: java.net.SocketException: Connection reset at com.idiominc.webservices.client.workflow.WSWorkflowManager.getProjectsForStatus(WSWorkflowManager.java:3704) at com.xxx.content.builder.WSContentClient$1.run(WSContentClient.java:46) at com.idiominc.webservices.client.WSContextManager.runAsUser(WSContextManager.java:42) at com.xxx.content.builder.WSContentClient.getContent(WSContentClient.java:33) at com.xxx.content.builder.ContentBuilder.fetchContent(ContentBuilder.java:98) at com.xxx.content.builder.ContentBuilder.importContent(ContentBuilder.java:78) at com.xxx.content.builder.ContentBuilder.main(ContentBuilder.java:47) |
Find the 5 minute timeout Network inactivity setting and increase it. This could be a setting in the 3rd party tool which communicates with WorldServer via the API. |
From the data in WorldServer's tomcat logs, there is a 5 minute period of inactivity when corresponds to the network connection being closed. Review with onsite network personnel the fact that there is a 5 minute inactivity timeout. Some portion of the network is requiring a 5 minute keep alive and when that is not seen it is closing the connection. Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:16 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 436 More than 5 minutes of inactivity Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:18:07 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSWorkflowManager HTTP/1.1" 200 8206 [2020-04-23 03:18:07,233] ERROR https-openssl-nio-443-exec-19 org.apache.axis.Message: java.io.IOException: org.apache.catalina.connector.ClientAbortException: java.io.IOException: An existing connection was forcibly closed by the remote host Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:00:03 +0000] "POST /ws-legacy/servlet/rpcrouter/WSContext HTTP/1.1" 200 2952 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:07:33 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSWorkflowManager HTTP/1.1" 200 42886524 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:08 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 38348 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:09 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:09 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:09 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:09 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:09 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:09 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 32499 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:10 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:10 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:10 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:10 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:10 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 16304 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:10 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:10 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:11 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 31270 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:11 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:11 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:11 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:11 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:11 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 8229 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:11 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 507 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:12 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 8248 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:12 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 507 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:12 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 15284 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:12 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 507 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:12 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 507 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:12 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 8254 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:12 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:13 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 15859 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:13 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:13 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:13 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 16208 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:13 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:13 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:13 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 8642 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:13 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:14 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 8804 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:14 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:14 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 16123 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:14 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:14 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:14 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 31986 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:14 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:14 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:15 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:15 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:15 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 32063 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:15 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:15 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:15 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:15 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:15 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 16308 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:16 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:16 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:16 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 8669 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:16 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 522 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:16 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSProject HTTP/1.1" 200 8797 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:16 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 508 Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:11:16 +0000] "POST /ws-legacy/servlet/rpcrouter/AisWSNode HTTP/1.1" 200 436 More than 5 minutes of inactivity Remote Host: - | Local Host: xxxx - - [23/Apr/2020:03:18:07 +0000] "POST /ws-legacy/servlet/rpcrouter/WorkflowWSWorkflowManager HTTP/1.1" 200 8206 [2020-04-23 03:18:07,233] ERROR https-openssl-nio-443-exec-19 org.apache.axis.Message: java.io.IOException: org.apache.catalina.connector.ClientAbortException: java.io.IOException: An existing connection was forcibly closed by the remote host at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:333) at org.apache.catalina.connector.OutputBuffer.appendByteArray(OutputBuffer.java:728) at org.apache.catalina.connector.OutputBuffer.append(OutputBuffer.java:657) at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:368) at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:346) at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:96) at org.apache.axis.utils.ByteArray.writeTo(ByteArray.java:375) at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:265) at org.apache.axis.Message.writeTo(Message.java:539) at org.apache.axis.transport.http.AxisServlet.sendResponse(AxisServlet.java:902) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:777) at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.sdl.lt.worldserver.webfilters.header.ResponseHeaderManagerFilter.doFilter(ResponseHeaderManagerFilter.java:163) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.idiominc.ws.servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:35) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:607) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:791) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: An existing connection was forcibly closed by the remote host at sun.nio.ch.SocketDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.write(IOUtil.java:65) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) at org.apache.tomcat.util.net.SecureNioChannel.flush(SecureNioChannel.java:144) at org.apache.tomcat.util.net.SecureNioChannel.write(SecureNioChannel.java:674) at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101) at org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:157) at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1225) at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:743) at org.apache.tomcat.util.net.SocketWrapperBase.writeBlocking(SocketWrapperBase.java:513) at org.apache.tomcat.util.net.SocketWrapperBase.write(SocketWrapperBase.java:451) at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.doWrite(Http11OutputBuffer.java:530) at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:112) at org.apache.coyote.http11.Http11OutputBuffer.doWrite(Http11OutputBuffer.java:189) at org.apache.coyote.Response.doWrite(Response.java:599) at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:328) ... 41 more |