https://bugzilla.redhat.com/show_bug.cgi?id=1347864
Bug ID: 1347864
Summary: The systemd service unit does not allow tomcat to shut
down gracefully
Product: Fedora
Version: 23
Component: tomcat
Assignee: ivan.afonichev(a)gmail.com
Reporter: csutherl(a)redhat.com
QA Contact: extras-qa(a)fedoraproject.org
CC: alee(a)redhat.com, csutherl(a)redhat.com,
ivan.afonichev(a)gmail.com,
java-sig-commits(a)lists.fedoraproject.org,
krzysztof.daniel(a)gmail.com, me(a)coolsvap.net,
tomcat-qe(a)redhat.com, trick(a)vanstaveren.us
Depends On: 1347860
+++ This bug was initially created as a clone of Bug #1347860 +++
Description of problem:
The systemd unit terminates the tomcat process prematurely, therefore not
allowing it to shutdown gracefully. The direct effect of this is that sessions
in the session manager are not persisted to disk and restored after a restart,
resulting in a loss of session data (unless you are replicating data within a
cluster).
Version-Release number of selected component (if applicable):
tomcat-8.0.32-5.fc23.noarch
How reproducible:
Always
Steps to Reproduce:
1. yum install tomcat
2. cp reproducer.war /usr/share/tomcat/webapps/
3. service tomcat start
4. curl
http://localhost:8080/reproducer/getSession.jsp
5. service tomcat stop
6. ls /usr/share/tomcat/work/Catalina/localhost/reproducer/SESSIONS.ser
Actual results:
The session created by the curl request is not persisted into SESSIONS.ser.
Expected results:
The session created by the curl request is persisted to SESSIONS.ser
Additional info:
When the process successfully completes (with FINE logging on the
StandardManager (org.apache.catalina.session.StandardManager.level = FINE)),
you see the following along with other shutdown messages:
~~~
Jun 17, 2016 4:45:08 PM org.apache.catalina.session.StandardManager doUnload
FINE: Unloading persisted sessions
Jun 17, 2016 4:45:08 PM org.apache.catalina.session.StandardManager doUnload
FINE: Saving persisted sessions to SESSIONS.ser
Jun 17, 2016 4:45:08 PM org.apache.catalina.session.StandardManager doUnload
FINE: Unloading 4 sessions
Jun 17, 2016 4:45:08 PM org.apache.catalina.session.StandardManager doUnload
FINE: Expiring 4 persisted sessions
Jun 17, 2016 4:45:08 PM org.apache.catalina.session.StandardManager doUnload
FINE: Unloading complete
~~~
When you call the service stop, it terminates before the shutdown can complete
(almost immediately after calling stop):
~~~
INFO: Server startup in 3501 ms
Jun 17, 2016 4:58:20 PM org.apache.catalina.core.StandardServer await
INFO: A valid shutdown command was received via the shutdown port. Stopping the
Server instance.
Jun 17, 2016 4:58:20 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
~~~
--- Additional comment from Coty Sutherland on 2016-06-17 17:07:02 EDT ---
I'm able to get a graceful shutdown if I switch the unit type to Forking
instead of simple, but then the start hangs :(
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1347860
[Bug 1347860] The systemd service unit does not allow tomcat to shut down
gracefully
--
You are receiving this mail because:
You are on the CC list for the bug.