Author: eevans Date: Wed Nov 24 23:02:09 2010 New Revision: 1038863 URL: http://svn.apache.org/viewvc?rev=1038863&view=rev Log: wait for up to 10 secs for process to start
Patch by paul cannon; reviewed by eevans for CASSANDRA-1772 Modified: cassandra/branches/cassandra-0.7/CHANGES.txt cassandra/branches/cassandra-0.7/debian/init Modified: cassandra/branches/cassandra-0.7/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1038863&r1=1038862&r2=1038863&view=diff ============================================================================== --- cassandra/branches/cassandra-0.7/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.7/CHANGES.txt Wed Nov 24 23:02:09 2010 @@ -10,6 +10,7 @@ dev * fix add/remove index bugs in CFMetadata (CASSANDRA-1768) * rebuild Strategy during system_update_keyspace (CASSANDRA-1762) * cli updates prompt to ... in continuation lines (CASSANDRA-1770) + * improvements to Debian init script (CASSANDRA-1772) 0.7.0-rc1 Modified: cassandra/branches/cassandra-0.7/debian/init URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/debian/init?rev=1038863&r1=1038862&r2=1038863&view=diff ============================================================================== --- cassandra/branches/cassandra-0.7/debian/init (original) +++ cassandra/branches/cassandra-0.7/debian/init Wed Nov 24 23:02:09 2010 @@ -18,6 +18,7 @@ PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME CONFDIR=/etc/cassandra JSVC=/usr/bin/jsvc +WAIT_FOR_START=10 # The first existing directory is used for JAVA_HOME if needed. JVM_SEARCH_DIRS="/usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-sun" @@ -93,12 +94,12 @@ classpath() # process is not running but the pidfile exists (to match the exit codes for # the "status" command; see LSB core spec 3.1, section 20.2) # -CMD_PATT="^`basename $JSVC`\.exec.*$NAME" +CMD_PATT="-user.cassandra.+CassandraDaemon" is_running() { if [ -f $PIDFILE ]; then pid=`cat $PIDFILE` - grep -q "$CMD_PATT" "/proc/$pid/cmdline" 2>/dev/null && return 0 + grep -Eq "$CMD_PATT" "/proc/$pid/cmdline" 2>/dev/null && return 0 return 1 fi return 3 @@ -126,7 +127,12 @@ do_start() $JVM_OPTS \ org.apache.cassandra.thrift.CassandraDaemon - if ! is_running; then return 2; fi + is_running && return 0 + for tries in `seq $WAIT_FOR_START`; do + sleep 1 + is_running && return 0 + done + return 2 } #