dps_stop command does not work
- Product: Rosetta
- Product Version: Rosetta 4.1 and onwards
- Relevant for Installation Type: Local
Scenario
It is not possible to stop Rosetta using the dps_stop command which returns the error message 'Rosetta has already been shutdown'.
The ver command shows that Rosetta is DOWN even though it is still running, and it is possible to use the UI.
Example:
ver | grep Status
Rosetta Server Status : DOWN
Explanation
When Tomcat is started the PID (Operating System Process ID) of the parent wrapper process is recorded in the file tomcat.pid:
$dps_dev/system.dir/thirdparty/wrapper/bin/tomcat.pid
This error occurs when the PID recorded in the tomcat.pid file is not the same as the process that is actually running. This problem can easily be fixed by replacing the value in the file.
Step 1 - Identify the Correct PID
At the terminal type:
ps -ef | grep java
Example:
ps -ef | grep java
dps 20409 20356 0 09:04 pts/2 00:00:00 grep --color=auto java
dps 23079 1 0 Nov29 ? 00:18:17 /exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/../../../../product/local/wrapper/bin/wrapper /exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/../conf/wrapper.conf wrapper.syslog.ident=tomcat wrapper.pidfile=/exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/./tomcat.pid wrapper.name=tomcat wrapper.displayname=Tomcat Application Server wrapper.daemonize=TRUE wrapper.statusfile=/exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/./tomcat.status wrapper.java.statusfile=/exlibris/dps/d4_1/system.dir/thirdparty/wrapper/bin/./tomcat.java.status
dps 23082 23079 0 Nov29 ? 01:31:17 /exlibris/product/jdk1.8.0_92.x86_64/bin/java -Dprogram.name=run.sh -server -d64 -XX:MaxPermSize=512m -XX:PermSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/exlibris/dps/d4_1/profile/operational_shared//logs/il-dtldev08c.corp.exlibrisgroup.com -Xloggc:/exlibris/dps/d4_1/profile/operational_shared//logs/il-dtldev08c.corp.exlibrisgroup.com/gc.log -XX:+PrintTenuringDistribution -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Dfile.encoding=utf8 -XX:+UseParallelOldGC -Dexec.strategy=wrapper -Djava.awt.headless=true -Ddigitool.home=/exlibris/dps/d4_1/system.dir/bin/.. -Djmagick.systemclassloader=No -DAPP_ROLE=DEP,REP,DEL,PER,IDX -Djava.endorsed.dirs=/exlibris/dps/d4_1/system.dir/bin/../thirdparty/tomcat/endorsed -Dorg.tanukisoftware.wrapper.WrapperStartStopApp.maxStartMainWait=300 -Dorg.tanukisoftware.wrapper.WrapperManager.mbean=false -Djboss.server.log.dir=/exlibris/dps/d4_1/profile/operational_shared//logs/il-dtldev08c.corp.exlibrisgroup.com -Dsolr.solr.home=/exlibris/dps/d4_1/system.dir/bin/../conf/solr -Dcatalina.base=/exlibris/dps/d4_1/system.dir/bin/../thirdparty/tomcat -Dcatalina.home=/exlibris/dps/d4_1/product/local/tomcat -Djava.io.tmpdir=/exlibris/dps/d4_1/system.dir/bin/../thirdparty/tomcat/temp -Xms3000m -Xmx4000m -Djava.library.path=/exlibris/dps/d4_1/product/local/wrapper/lib:/exlibris/dps/d4_1/product/local/im/lib:/exlibris/dps/d4_1/product/local/jpeg2000/sdk/linux-x86-64/lib -classpath /exlibris/dps/d4_1/product/local/wrapper/lib/wrapper.jar:/exlibris/dps/d4_1/system.dir/bin/../conf:/exlibris/dps/d4_1/product/local/tomcat/bin/bootstrap.jar:/exlibris/dps/d4_1/product/local/tomcat/bin/tomcat-juli.jar:/exlibris/dps/d4_1/product/local/java/lib/tools.jar -Dwrapper.key=Bpv8gDIR_l8mGHYwZ8r3_JArWUMOJVsx -Dwrapper.port=32001 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.disable_console_input=TRUE -Dwrapper.pid=23079 -Dwrapper.version=3.5.17-pro -Dwrapper.native_library=wrapper -Dwrapper.arch=x86 -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=1 -Dwrapper.lang.domain=wrapper org.tanukisoftware.wrapper.WrapperStartStopApp org.apache.catalina.startup.Bootstrap 1 start org.apache.catalina.startup.Bootstrap TRUE 1 stop
In the example the correct PID which should appear in tomcat.pid is as outlined above. It is the parent process of the running instance of Tomcat.
Step 2 - Replace the value in the tomcat.pid file
In our example we shall replace the value with 23079.
At the terminal:
echo 23079 > $dps_dev/system.dir/thirdparty/wrapper/bin/tomcat.pid
Step 3 - Stop Rosetta
Once the PID in the tomcat.pid file is aligned with the correct value we can verify that the configuration now works by using the ver command
ver | grep Status
Rosetta Server Status : UP
It should now be possible to run the dps_stop
command as normal.
- Article last edited: 20-Jun-2017