AnsweredAssumed Answered

Increasing Atom Shared Server Idle Timeout Not Working?

Question asked by minh.nguyen700721 on Feb 14, 2017
Latest reply on Feb 15, 2017 by minh.nguyen700721

Hello,

 

I am having an issue with what I believe to be the Atom Shared Server timing out my request after 30 seconds.

Below is what the process looks like. It is a simple API which saved incoming data to an SFTP server.

When incoming data is large, the process may take 30 seconds or longer to complete the encryption and send the file to sftp, and the caller of the API receives error: (502) - Error message received from Http Server.

 

I have done some digging and found these other threads:

Increase webservices jetty container default timeout 

How to increase the webserver idle connection timeout setting in a private atom/cloud/molecule. 

 

So, I tried to set the property "com.boomi.container.sharedServer.http.maxIdleTime=120000" in the /conf/container.properties file.

 

However, I'm unsure if this property is even taking effect. What I did notice was that in the container logs, the server would shut down after starting up, and this would repeat every 15 minutes:

 

Logs when first starting the Atom Server:

Feb 14, 2017 9:54:46 PM GMT INFO [com.boomi.connector.wss.WSContainerServer start] Starting webservice provider on shared webserver
Feb 14, 2017 9:54:46 PM GMT INFO [com.boomi.connector.server.http.SharedHttpServer startServer] Starting shared http server on port(s) [com.boomi.model.message.update.HTTPServerConnector@614c6bf2[
port=9090
sslEnabled=false
authType=NONE
]]
Feb 14, 2017 9:54:46 PM GMT FINE [com.boomi.connector.server.http.SharedHttpServer startServer] Starting shared http server with min threads 2
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.jetty.JettyLogger info] jetty-6.1.26-boomi2
Feb 14, 2017 9:54:47 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized] WSSERVLET12: JAX-WS context listener initializing
Feb 14, 2017 9:54:47 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 9:54:47 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 9:54:47 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.jetty.JettyLogger info] Opened /svc/Atom_testlocalatom/logs/2017_02_14.shared_http_server.log
Feb 14, 2017 9:54:47 PM GMT WARNING [com.boomi.jetty.JettyLogger warn] failed SelectChannelConnector@0.0.0.0:9090: java.net.BindException: Address already in use
Feb 14, 2017 9:54:47 PM GMT WARNING [com.boomi.jetty.JettyLogger warn] failed Server@65f99cbb: java.net.BindException: Address already in use
Feb 14, 2017 9:54:47 PM GMT SEVERE [com.boomi.connector.server.http.SharedHttpServer updateStatusImpl] Failed activating shared http server
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.Server.doStart(Server.java:235)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.boomi.connector.server.http.SharedHttpServer.startServer(SharedHttpServer.java:675)
at com.boomi.connector.server.http.SharedHttpServer.updateStatusImpl(SharedHttpServer.java:418)
at com.boomi.connector.server.http.SharedHttpServer.updateStatus(SharedHttpServer.java:401)
at com.boomi.connector.server.http.SharedHttpServer.addHandler(SharedHttpServer.java:287)
at com.boomi.connector.wss.WSContainerServer.start(WSContainerServer.java:188)
at com.boomi.connector.wss.WSContainerServer.access$000(WSContainerServer.java:46)
at com.boomi.connector.wss.WSContainerServer$1.run(WSContainerServer.java:137)
at com.boomi.util.ExecutorUtil$CCLRunnable.run(ExecutorUtil.java:720)
at com.boomi.util.ExecutorUtil$CCLRunnable.run(ExecutorUtil.java:720)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Feb 14, 2017 9:54:46 PM GMT INFO [com.boomi.connector.wss.WSContainerServer start] Starting webservice provider on shared webserver
Feb 14, 2017 9:54:46 PM GMT INFO [com.boomi.connector.wss.route.WebserviceConfig updatedOperation] Updated webservice operation /ws/soap/getHealth[451d00eb-b593-4c12-a974-73e51e83f1b5] for Account[{AccountId}]
Feb 14, 2017 9:54:46 PM GMT INFO [com.boomi.connector.wss.route.WebserviceConfig updatedOperation] Updated webservice operation /ws/simple/getHealth[451d00eb-b593-4c12-a974-73e51e83f1b5] for Account[{AccountId}]
Feb 14, 2017 9:54:46 PM GMT INFO [com.boomi.connector.server.http.SharedHttpServer startServer] Starting shared http server on port(s) [com.boomi.model.message.update.HTTPServerConnector@225989ee[
port=9090
sslEnabled=false
authType=NONE
]]
Feb 14, 2017 9:54:46 PM GMT INFO [com.boomi.jetty.JettyLogger info] jetty-6.1.26-boomi2
Feb 14, 2017 9:54:46 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized] WSSERVLET12: JAX-WS context listener initializing
Feb 14, 2017 9:54:47 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 9:54:47 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 9:54:47 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.jetty.JettyLogger info] Opened /svc/Atom_testlocalatom/logs/2017_02_14.shared_http_server.log
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.jetty.JettyLogger info] Started SelectChannelConnector@0.0.0.0:9090
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.connector.wss.WSContainerServer start] Started webservice provider on shared webserver
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.connector.server.http.SharedHttpServer stopServer] Shared http server stopping
java.lang.Exception: Shutdown Stack
at com.boomi.connector.server.http.SharedHttpServer.stopServer(SharedHttpServer.java:683)
at com.boomi.connector.server.http.SharedHttpServer.updateStatusImpl(SharedHttpServer.java:421)
at com.boomi.connector.server.http.SharedHttpServer.updateStatus(SharedHttpServer.java:401)
at com.boomi.connector.server.http.SharedHttpServer.addHandler(SharedHttpServer.java:287)
at com.boomi.connector.wss.WSContainerServer.start(WSContainerServer.java:188)
at com.boomi.connector.wss.WSContainerServer.access$000(WSContainerServer.java:46)
at com.boomi.connector.wss.WSContainerServer$1.run(WSContainerServer.java:137)
at com.boomi.util.ExecutorUtil$CCLRunnable.run(ExecutorUtil.java:720)
at com.boomi.util.ExecutorUtil$CCLRunnable.run(ExecutorUtil.java:720)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.connector.server.http.SharedHttpServer stopServer] Stopping shared http server
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.jetty.JettyLogger info] Graceful shutdown SelectChannelConnector@0.0.0.0:9090
Feb 14, 2017 9:54:47 PM GMT INFO [com.boomi.jetty.JettyLogger info] Graceful shutdown com.boomi.connector.wss.WSContainerServer$WSServletContext@1b500c9b{/,null}
Feb 14, 2017 9:54:48 PM GMT INFO [com.boomi.jetty.JettyLogger info] Stopped SelectChannelConnector@0.0.0.0:9090
Feb 14, 2017 9:54:48 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate destroy] WSSERVLET15: JAX-WS servlet destroyed
Feb 14, 2017 9:54:48 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextDestroyed] WSSERVLET13: JAX-WS context listener destroyed

Every 15 minutes, the same behavior is repeated:

Feb 14, 2017 10:15:00 PM GMT INFO [com.boomi.connector.server.http.SharedHttpServer startServer] Starting shared http server on port(s) [com.boomi.model.message.update.HTTPServerConnector@264c207a[
port=9090
sslEnabled=false
authType=NONE
]]
Feb 14, 2017 10:15:00 PM GMT FINE [com.boomi.connector.server.http.SharedHttpServer startServer] Starting shared http server with min threads 2
Feb 14, 2017 10:15:00 PM GMT INFO [com.boomi.jetty.JettyLogger info] jetty-6.1.26-boomi2
Feb 14, 2017 10:15:00 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized] WSSERVLET12: JAX-WS context listener initializing
Feb 14, 2017 10:15:00 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 10:15:00 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 10:15:00 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init>] WSSERVLET14: JAX-WS servlet initializing
Feb 14, 2017 10:15:00 PM GMT INFO [com.boomi.jetty.JettyLogger info] Opened /svc/Atom_testlocalatom/logs/2017_02_14.shared_http_server.log
Feb 14, 2017 10:15:00 PM GMT WARNING [com.boomi.jetty.JettyLogger warn] failed SelectChannelConnector@0.0.0.0:9090: java.net.BindException: Address already in use
Feb 14, 2017 10:15:00 PM GMT WARNING [com.boomi.jetty.JettyLogger warn] failed Server@2cb44b0a: java.net.BindException: Address already in use
Feb 14, 2017 10:15:00 PM GMT SEVERE [com.boomi.connector.server.http.SharedHttpServer updateStatusImpl] Failed activating shared http server
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.Server.doStart(Server.java:235)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at com.boomi.connector.server.http.SharedHttpServer.startServer(SharedHttpServer.java:675)
at com.boomi.connector.server.http.SharedHttpServer.updateStatusImpl(SharedHttpServer.java:418)
at com.boomi.connector.server.http.SharedHttpServer.updateStatus(SharedHttpServer.java:401)
at com.boomi.container.plugin.BasePluginManager.updateLoadedServer(BasePluginManager.java:583)
at com.boomi.container.plugin.BasePluginManager.updateLoadedServers(BasePluginManager.java:530)
at com.boomi.container.plugin.BasePluginManager.updateStatusImpl(BasePluginManager.java:524)
at com.boomi.container.core.PluginManagerImpl.run(PluginManagerImpl.java:161)
at com.boomi.util.ExecutorUtil$CCLRunnable.run(ExecutorUtil.java:720)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Feb 14, 2017 10:15:00 PM GMT INFO [com.boomi.connector.server.http.SharedHttpServer stopServer] Shared http server stopping
java.lang.Exception: Shutdown Stack
at com.boomi.connector.server.http.SharedHttpServer.stopServer(SharedHttpServer.java:683)
at com.boomi.connector.server.http.SharedHttpServer.updateStatusImpl(SharedHttpServer.java:421)
at com.boomi.connector.server.http.SharedHttpServer.updateStatus(SharedHttpServer.java:401)
at com.boomi.container.plugin.BasePluginManager.updateLoadedServer(BasePluginManager.java:583)
at com.boomi.container.plugin.BasePluginManager.updateLoadedServers(BasePluginManager.java:530)
at com.boomi.container.plugin.BasePluginManager.updateStatusImpl(BasePluginManager.java:524)
at com.boomi.container.core.PluginManagerImpl.run(PluginManagerImpl.java:161)
at com.boomi.util.ExecutorUtil$CCLRunnable.run(ExecutorUtil.java:720)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Feb 14, 2017 10:15:00 PM GMT INFO [com.boomi.connector.server.http.SharedHttpServer stopServer] Stopping shared http server
Feb 14, 2017 10:15:00 PM GMT INFO [com.boomi.jetty.JettyLogger info] Graceful shutdown SelectChannelConnector@0.0.0.0:9090
Feb 14, 2017 10:15:00 PM GMT INFO [com.boomi.jetty.JettyLogger info] Graceful shutdown com.boomi.connector.wss.WSContainerServer$WSServletContext@1b500c9b{/,null}
Feb 14, 2017 10:15:01 PM GMT INFO [com.boomi.jetty.JettyLogger info] Stopped SelectChannelConnector@0.0.0.0:9090
Feb 14, 2017 10:15:01 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletDelegate destroy] WSSERVLET15: JAX-WS servlet destroyed
Feb 14, 2017 10:15:01 PM GMT INFO [com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextDestroyed] WSSERVLET13: JAX-WS context listener destroyed

 

Also I noticed this log while the atom was starting up:

Feb 14, 2017 9:54:43 PM GMT INFO [com.boomi.container.core.FeatureManagerImpl downloadFeature] Atom is installing new feature Atom feature 'Shared HTTP Server' (SHARED_HTTP_SERVER) from /svc/Atom_testlocalatom/tmp/updates/install-49000_1601780731697083270.tmp

.

.

Feb 14, 2017 9:54:45 PM GMT FINE [com.boomi.connector.server.ConnectorServerManager startConnectorServer] Starting Account[{AccountId}] connector server wss for key wss
Feb 14, 2017 9:54:45 PM GMT WARNING [com.boomi.container.config.HTTPServerConfig fromLegacyProperties] HTTP server configuration is empty.
Feb 14, 2017 9:54:45 PM GMT WARNING [com.boomi.connector.server.http.security.AccountAuthConfig getAccountHTTPConfig] Failed to load HTTP server config for account Account[{AccountId}]: HTTP server configuration is empty.
Feb 14, 2017 9:54:45 PM GMT WARNING [com.boomi.connector.server.http.security.UserCredentialManager reloadConfig] Account credential configuration is incomplete: No account level auth config available for Account[{AccountId}]
Feb 14, 2017 9:54:45 PM GMT WARNING [com.boomi.container.config.HTTPServerConfig fromLegacyProperties] HTTP server configuration is empty.

I am unsure if the idle timeout property was even picked up.

 

Also, in between the Shared Server startups/shutdowns, the API will still be available. I can still call it, but will receive a 502 error after ~30 seconds.

 

Any insight would be helpful.

 

Thank you,

Minh Nguyen

Outcomes