merge transaction script to the 2.0 migration script.
${INSTALL} -m 755 ${LCAS_PLUGIN_LIB} ${PREFIX}/lib/modules
ln -sf liblcas_lb.so ${PREFIX}/lib/modules/lcas_lb.mod
- for f in dbsetup.sql dbsetup-migrate2transactions.sql index.conf.template; do \
+ for f in dbsetup.sql index.conf.template; do \
${INSTALL} -m 644 ${top_srcdir}/config/"glite-lb-$$f" ${PREFIX}/etc; \
done
+ ${INSTALL} -m 755 ${top_srcdir}/config/glite-lb-migrate_db2version20 ${PREFIX}/etc
${INSTALL} -m 755 ${top_srcdir}/config/startup ${PREFIX}/etc/init.d/glite-lb-bkserverd
+++ /dev/null
-alter table jobs engine=innodb;
-alter table users engine=innodb;
-alter table events engine=innodb;
-alter table short_fields engine=innodb;
-alter table long_fields engine=innodb;
-alter table states engine=innodb;
-alter table status_tags engine=innodb;
-alter table server_state engine=innodb;
-alter table acls engine=innodb;
-alter table notif_registrations engine=innodb;
-alter table notif_jobs engine=innodb;
fi
+# convert for transactions (if very old DB)
+cat <<EOF | mysql -u lbserver $DB_NAME
+ALTER TABLE jobs ENGINE=innodb;
+ALTER TABLE users ENGINE=innodb;
+ALTER TABLE events ENGINE=innodb;
+ALTER TABLE short_fields ENGINE=innodb;
+ALTER TABLE long_fields ENGINE=innodb;
+ALTER TABLE states ENGINE=innodb;
+ALTER TABLE status_tags ENGINE=innodb;
+ALTER TABLE server_state ENGINE=innodb;
+ALTER TABLE acls ENGINE=innodb;
+ALTER TABLE notif_registrations ENGINE=innodb;
+ALTER TABLE notif_jobs ENGINE=innodb;
+EOF
+
+
# add new columns
mysql -u lbserver $DB_NAME -e "ALTER TABLE jobs ADD proxy bool not null"
mysql -u lbserver $DB_NAME -e "ALTER TABLE jobs ADD server bool not null"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+#include <syslog.h>
#include <errno.h>
#include <time.h>
#include <assert.h>
/* Check non-indexed event conditions */
if ( convert_event_head(ctx, res+2, out+i) || edg_wll_get_event_flesh(ctx, n, out+i) )
{
- free(res[1]);
- free(res[2]);
- memset(out+i, 0, sizeof(*out));
- glite_lbu_FreeStmt(&sh);
- goto cleanup;
+ char *et,*ed, *dbjob;
+
+ /* Most likely sort of internal inconsistency.
+ * Must not be fatal -- just complain
+ */
+ edg_wll_Error(ctx,&et,&ed);
+
+ dbjob = res[2];
+ fprintf(stderr,"%s event %d: %s (%s)\n",dbjob,n,et,ed);
+ syslog(LOG_WARNING,"%s event %d: %s (%s)",dbjob,n,et,ed);
+ free(et); free(ed);
+ edg_wll_ResetError(ctx);
+
+ goto fetch_cycle_cleanup;
}
if ( !match_flesh_conditions(out+i,event_conditions) || check_strict_jobid(ctx,out[i].any.jobId) )