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
 }
 
 #


Reply via email to