Merged changes on LB->JP mill from HEAD (new features and proper purging fix).
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Thu, 2 Aug 2007 11:41:30 +0000 (11:41 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Thu, 2 Aug 2007 11:41:30 +0000 (11:41 +0000)
Fixed "wildcard race condition" when collecting and deleting dumps from purgedir.

org.glite.lb.client/src/export.sh

index eda817c..8490e8d 100644 (file)
@@ -43,6 +43,8 @@ GLITE_LB_EXPORT_PURGE_ARGS=${GLITE_LB_EXPORT_PURGE_ARGS:---cleared 2d --aborted
 # Book Keeping Server
 GLITE_LB_SERVER_PORT=${GLITE_LB_SERVER_PORT:-9000}
 GLITE_LB_EXPORT_BKSERVER=${GLITE_LB_EXPORT_BKSERVER:-localhost:$GLITE_LB_SERVER_PORT}
+GLITE_LB_PURGE_ENABLED=${GLITE_LB_PURGE_ENABLED:-true}
+GLITE_LB_EXPORT_ENABLED=${GLITE_LB_EXPORT_ENABLED:-true}
 
 [ -d $GLITE_LB_EXPORT_JPDUMP_MAILDIR ] || mkdir -p $GLITE_LB_EXPORT_JPDUMP_MAILDIR
 [ -d $GLITE_LB_EXPORT_DUMPDIR ] || mkdir -p $GLITE_LB_EXPORT_DUMPDIR
@@ -51,24 +53,28 @@ GLITE_LB_EXPORT_BKSERVER=${GLITE_LB_EXPORT_BKSERVER:-localhost:$GLITE_LB_SERVER_
 [ -d $GLITE_LB_EXPORT_PURGEDIR_KEEP ] || mkdir -p $GLITE_LB_EXPORT_PURGEDIR_KEEP
 [ -d $GLITE_LB_EXPORT_JOBSDIR ] || mkdir -p $GLITE_LB_EXPORT_JOBSDIR
 
-X509_USER_CERT="$X509_USER_CERT" X509_USER_KEY="$X509_USER_KEY" $PREFIX/sbin/glite-lb-purge $GLITE_LB_EXPORT_PURGE_ARGS -l -m $GLITE_LB_EXPORT_BKSERVER
+if [ x"$GLITE_LB_PURGE_ENABLED" = x"true" ]; then
+       X509_USER_CERT="$X509_USER_CERT" X509_USER_KEY="$X509_USER_KEY" $PREFIX/sbin/glite-lb-purge $GLITE_LB_EXPORT_PURGE_ARGS -l -m $GLITE_LB_EXPORT_BKSERVER -s
+fi
 
-for file in $GLITE_LB_EXPORT_PURGEDIR/*; do
-  if [ -s $file ]; then
-    $PREFIX/sbin/glite-lb-lb_dump_exporter -d $file -s $GLITE_LB_EXPORT_JOBSDIR -m $GLITE_LB_EXPORT_JPDUMP_MAILDIR
-    if [ -n "$GLITE_LB_EXPORT_PURGEDIR_KEEP" ]; then
-      mv $file $GLITE_LB_EXPORT_PURGEDIR_KEEP
+if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then
+  list=`ls $GLITE_LB_EXPORT_PURGEDIR/* 2>/dev/null`
+  for file in $list; do
+    if [ -s $file ]; then
+      $PREFIX/sbin/glite-lb-lb_dump_exporter -d $file -s $GLITE_LB_EXPORT_JOBSDIR -m $GLITE_LB_EXPORT_JPDUMP_MAILDIR
+      if [ -n "$GLITE_LB_EXPORT_PURGEDIR_KEEP" ]; then
+        mv $file $GLITE_LB_EXPORT_PURGEDIR_KEEP
+      else
+        rm $file
+      fi
     else
       rm $file
     fi
+  done
+
+  if [ -n "$GLITE_LB_EXPORT_DUMPDIR_KEEP" ]; then
+    ls $GLITE_LB_EXPORT_DUMPDIR | xargs  -i'{}' cp $GLITE_LB_EXPORT_DUMPDIR/'{}' $GLITE_LB_EXPORT_DUMPDIR_KEEP;
   else
-    rm $file
+    ls $GLITE_LB_EXPORT_DUMPDIR | xargs -i'{}' rm -f $GLITE_LB_EXPORT_DUMPDIR/'{}'
   fi
-done
-
-if [ -n "$GLITE_LB_EXPORT_DUMPDIR_KEEP" ]; then
-  ls $GLITE_LB_EXPORT_DUMPDIR | xargs  -i'{}' cp $GLITE_LB_EXPORT_DUMPDIR/'{}' $GLITE_LB_EXPORT_DUMPDIR_KEEP;
-else
-  ls $GLITE_LB_EXPORT_DUMPDIR | xargs -i'{}' rm -f $GLITE_LB_EXPORT_DUMPDIR/'{}'
 fi
-