commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mladen Turk (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DAEMON-73) [daemon] jsvc does not block on Linux
Date Thu, 25 Feb 2010 21:04:28 GMT

     [ https://issues.apache.org/jira/browse/DAEMON-73?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mladen Turk updated DAEMON-73:
------------------------------

    Component/s: Jsvc

> [daemon] jsvc does not block on Linux
> -------------------------------------
>
>                 Key: DAEMON-73
>                 URL: https://issues.apache.org/jira/browse/DAEMON-73
>             Project: Commons Daemon
>          Issue Type: Improvement
>          Components: Jsvc
>    Affects Versions: 1.0
>         Environment: Operating System: Linux
> Platform: PC
>            Reporter: bernard
>            Priority: Minor
>
> Configuration:
> Apache/2.0.40 (Red Hat Linux)
> mod_jk 1.2.8
> Tomcat 5.5.7
> Red Hat Linux 9
> j2sdk-1_4_2_07
> Background:
> In a startup script that is executed at boot time and for server restarts,
> it is expected that multiple services are started up sequentially, in a single
> thread, and any subsequend service is started only after the the previous one in
> the sequence has been initialised fully.
> The progress status of the startup script is clearly visible at the console
> because each segment of the startup script prints the beginning and the end of
> each service initialisation and its success or failure response.
> Expected behavior:
> jsvc should return control to the command prompt or script with the
> appropriate return code only after the Java program it executes has
> finished its initialisation.
> Actual behavior:
> jsvc returns immediately.
> The expected behavior is much more critical for re-start than at startup.
> A re-start is required when adding or deleting virtual hosts.
> As an example, an Apache-httpd mod_jserv Tomcat combination requires the
> following operational sequence:
> 1) Apache shutdown (this blocks ok)
> 2) jsvc Tomcat shutdown (error has impact here)
> 3) jsvc Tomcat startup (error has impact here)
> 4) Apache startup (this blocks ok)
> 2) and 3) true elapse times vary much depending on server load and especially on
> the number of virtual hosts.
> It is not acceptable to work around this with time delays because their
> required duration cannot be determined.
> I am using the following script (adapted from the Tomcat distribution):
> JAVA_HOME=/usr/java/j2re1.4.2
> CATALINA_HOME=/usr/local/tomcat5
> DAEMON_HOME=/usr/local/tomcat5/bin
> TOMCAT_USER=tomcat
> TMP_DIR=/var/tmp
> CATALINA_OPTS=
> CLASSPATH=\
> $JAVA_HOME/lib/tools.jar:\
> $CATALINA_HOME/bin/commons-daemon.jar:\
> $CATALINA_HOME/bin/bootstrap.jar
> TOMCAT_PID_FILE=/var/run/tomcat.pid
> case "$1" in
>   start)
>     #
>     # Start Tomcat
>     #
>     $DAEMON_HOME/jsvc \
>     -user $TOMCAT_USER \
>     -home $JAVA_HOME \
>     -Dcatalina.home=$CATALINA_HOME \
>     -Djava.io.tmpdir=$TMP_DIR \
>     -outfile $CATALINA_HOME/logs/catalina.out \
>     -errfile '&1' \
>     $CATALINA_OPTS \
>     -cp $CLASSPATH \
>     -pidfile $TOMCAT_PID_FILE \
>     -debug \
>     org.apache.catalina.startup.Bootstrap
>     #
>     # To get a verbose JVM
>     #-verbose \
>     # To get a debug of jsvc.
>     #-debug \
>     ;;
>    stop)
>     #
>     # Stop Tomcat
>     #
>     #cat $TOMCAT_PID_FILE
>     PID=$(cat ${TOMCAT_PID_FILE})
>     kill $PID
>     ;;
>    restart)
>     $0 stop
>     sleep 2
>     $0 start
>     ;;
>   *)
>     echo "Usage tomcat.sh start/stop/restart"
>     exit 1;;
> esac

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message