You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ot...@apache.org on 2009/06/02 17:41:21 UTC

svn commit: r781069 - /lucene/solr/trunk/src/scripts/snapinstaller

Author: otis
Date: Tue Jun  2 15:41:21 2009
New Revision: 781069

URL: http://svn.apache.org/viewvc?rev=781069&view=rev
Log:
SOLR-990 - Add pid file to snapinstaller to skip script overruns, and recover from failure

Modified:
    lucene/solr/trunk/src/scripts/snapinstaller

Modified: lucene/solr/trunk/src/scripts/snapinstaller
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/scripts/snapinstaller?rev=781069&r1=781068&r2=781069&view=diff
==============================================================================
--- lucene/solr/trunk/src/scripts/snapinstaller (original)
+++ lucene/solr/trunk/src/scripts/snapinstaller Tue Jun  2 15:41:21 2009
@@ -30,6 +30,10 @@
 prog=${0##*/}
 log=${solr_root}/logs/${prog}.log
 
+LOCKDIR="${solr_root}/logs/snapinstaller-lock"
+PIDFILE="${LOCKDIR}/PID"
+
+
 # define usage string
 USAGE="\
 usage: $prog [-M master] [-S sdir] [-d dir] [-u username] [-v]
@@ -106,6 +110,20 @@
 
 setStartTime
 
+if test -r $PIDFILE
+then
+  OTHERPID="$(cat "${PIDFILE}")"
+  if ! kill -0 $OTHERPID &>/dev/null; then
+    logMessage removing stale lock ${OTHERPID}
+    rm -rf "${LOCKDIR}"
+  else
+    logExit "lock failed, PID ${OTHERPID} is active" 1
+  fi
+fi
+
+mkdir "${LOCKDIR}" &>/dev/null
+echo "$$" >"${PIDFILE}"
+
 logMessage started by $oldwhoami
 logMessage command: $0 $@
 
@@ -176,4 +194,5 @@
   logExit failed 1
 fi
 
+rm -rf "${LOCKDIR}"
 logExit ended 0