D
dbeavon
Guest
We still continue to experience long delays when trying to stop the tomcat (oepas1) service. It doesn't want to stop in a reasonable amount of time like 10 or 20 seconds. (To make the requests to stop the service, we are using the service control manager in windows). I did more research and discovered that PASOE configures tomcat without any shutdown timeout (see image below ). You can open the tomcat service configuration via a utility: C:\Progress\OpenEdge\servers\pasoe\bin\tomcat8w.exe //MS//oepas1 ... so I suppose I can spend some time playing with the shutdown timeout. But this may not lead anywhere, or at least it won't get to the root of the problem. I think that tomcat would shut itself down gracefully if it could (and shouldn't need me to tell it that anything more than 30 seconds is unreasonable). But there is some internal integration issue with pasoe functionality that is causing a delay. I suspect tomcat is designed so that when it reaches the shutdown timeout, it will probably kill itself, and whatever pasoe was trying to do at that moment will be aborted. The abort is what worries me. It would be nice to know what is at stake in using this approach, and why it is necessary to take such a drastic approach in the first place. Is there a particular log file that I should be paying attention to, when it comes to the shutdown sequence? The file named catalina.2019-06-07.log seems promising.... Here is what that file looks like when tomcat is able to shut itself down in a normal amount of time. 07-Jun-2019 10:09:15.186 INFO [Thread-14] com.progress.appserv.services.lifecycle.OeLifecycleListener.runStoppingScripts Running stopping scripts 07-Jun-2019 10:09:15.679 INFO [Thread-14] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8810"] 07-Jun-2019 10:09:15.744 INFO [Thread-14] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["https-openssl-nio-8811"] 07-Jun-2019 10:09:15.807 INFO [Thread-14] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina] ... weird, but common, warnings about webabb threads... 07-Jun-2019 10:09:16.070 INFO [Thread-14] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8810"] 07-Jun-2019 10:09:16.070 INFO [Thread-14] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["https-openssl-nio-8811"] 07-Jun-2019 10:09:16.071 INFO [Thread-14] com.progress.appserv.services.lifecycle.OeLifecycleListener.runShutdownScripts Running shutdown scripts Notice that things are shut down in under a second. Notice that we are seeing some OE-specific messages (Running stopping scripts, Running shutdown scripts) but it is unfortunate that they aren't paired with another corresponding message that says when those oe-specific opreations are complete. In any case, immediately after that final message above, the tomcat service seems to have stopped. The time spent shutting down the service was very reasonable since it is only about one second. Most of the time (at least 95% or more) the shutdown logs look like the example above. But when the shutdown is stalled, I see something different. Here is an example 07-Jun-2019 05:00:00.044 INFO [Thread-14] com.progress.appserv.services.lifecycle.OeLifecycleListener.runStoppingScripts Running stopping scripts 07-Jun-2019 05:01:45.828 INFO [Thread-14] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8810"] 07-Jun-2019 05:01:45.892 INFO [Thread-14] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["https-openssl-nio-8811"] 07-Jun-2019 05:01:45.956 INFO [Thread-14] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina] 07-Jun-2019 05:01:45.966 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for [2] instance(s) to be deallocated for Servlet [apsv] .. weird thread warnings ... 07-Jun-2019 05:01:47.247 INFO [Thread-14] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8810"] 07-Jun-2019 05:01:47.248 INFO [Thread-14] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["https-openssl-nio-8811"] 07-Jun-2019 05:01:47.251 INFO [Thread-14] com.progress.appserv.services.lifecycle.OeLifecycleListener.runShutdownScripts Running shutdown scripts Notice that after the first pasoe message (Running stopping scripts), it hung for over a minute! That is what we are trying to fix. Can someone tell me what this is doing? How do I introduce additional logging for this? It would be nice to at least know when the operation (Running stopping scripts) is complete, so I can be sure that this indeed what is consuming so much time. Also, is there documentation about these lifetime scripts yet? I've heard them mentioned before but don't know anything about them ( see PASOE temp directory cleanup? - Forum - OpenEdge Development - Progress Community ) . Can we configure a minimal version of the "stopping scripts" that don't do anything special, or at least nothing so complex that it should take a minute of work. Am I on the right track to suspect that it is the "stopping scripts" which are the culprits for the inability to shutdown tomcat?
Continue reading...
Continue reading...