From ce9fdae5f38e57e631c4b6b226fc0d3c093e3bc9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Thu, 2 Aug 2007 11:41:29 +0000 Subject: [PATCH] Merged changes on LB->JP mill from HEAD (new features and proper purging fix). Fixed "wildcard race condition" when collecting and deleting dumps from purgedir. --- org.glite.jp.client/examples/glite-jp-importer.sh | 10 +++++++--- org.glite.jp.client/examples/mill_feed.c | 5 +++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/org.glite.jp.client/examples/glite-jp-importer.sh b/org.glite.jp.client/examples/glite-jp-importer.sh index cfc5849..b92d14d 100644 --- a/org.glite.jp.client/examples/glite-jp-importer.sh +++ b/org.glite.jp.client/examples/glite-jp-importer.sh @@ -32,7 +32,11 @@ fi # dump directory of bkserver if [ -z "$GLITE_LB_EXPORT_DUMPDIR" ]; then GLITE_LB_EXPORT_DUMPDIR=/tmp/dump - echo "GLITE_LB_EXPORT_DUMPDIR not specified (-D arguent of the bkserver), used $GLITE_LB_EXPORT_DUMPDIR" + echo "GLITE_LB_EXPORT_DUMPDIR not specified (-D argument of the bkserver), used $GLITE_LB_EXPORT_DUMPDIR" +fi +if [ -z "$GLITE_LB_EXPORT_PURGEDIR" ]; then + GLITE_LB_EXPORT_PURGEDIR=/tmp/purge + echo "GLITE_LB_EXPORT_PURGEDIR not specified (-S argument of the bkserver), used $GLITE_LB_EXPORT_PURGEDIR" fi # LB maildir for job registration if [ -z "$GLITE_LB_EXPORT_JPREG_MAILDIR" ]; then @@ -74,8 +78,8 @@ trap "kill $JP_PID; exit 0" SIGINT while [ 1 ]; do $PREFIX/sbin/glite-lb-purge $GLITE_LB_EXPORT_PURGE_ARGS -l -m $GLITE_LB_EXPORT_BKSERVER -s - - for file in $GLITE_LB_EXPORT_DUMPDIR/*; do + 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_DUMPDIR_KEEP" ]; then diff --git a/org.glite.jp.client/examples/mill_feed.c b/org.glite.jp.client/examples/mill_feed.c index bee31b8..8052299 100644 --- a/org.glite.jp.client/examples/mill_feed.c +++ b/org.glite.jp.client/examples/mill_feed.c @@ -104,6 +104,7 @@ int main(int argc, char *argv[]) { } if (speed) printf("speed: %d jobs/day (delay %lf)\n", speed, duration / 1000000.0); else printf("speed: unlimited\n"); + printf("dump: %s\n", dumpfile ? dumpfile : "(none)"); printf("reg-mdir: %s\n", jpreg_dir); printf("dump-mdir: %s\n", dump_dir); printf("start: %lf\n", ts); @@ -260,9 +261,9 @@ static int dump_init(const char *start_jobid, const char *filename) { } //for (i = 0; i < dump_tokens; i++) printf("####%s\n", dump_index[i]); - // FIXME: is it OK? (probably different HEAD and branch) if (!dump_dir) { - env = getenv("GLITE_LB_EXPORT_DUMPDIR"); + // wrong purging to GLITE_LB_EXPORT_DUMPDIR on older versions + env = getenv("GLITE_LB_EXPORT_PURGEDIR"); if (env) dump_dir = strdup(env); else dump_dir = strdup(EDG_DUMP_STORAGE); } -- 1.8.2.3