From: František Dvořák Date: Thu, 11 Jun 2009 17:10:35 +0000 (+0000) Subject: Alter table engine in migration script only when needed. X-Git-Tag: glite-lb-server_R_2_0_2_2~4 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=109080def2f50e540754647d906e08d362c53699;p=jra1mw.git Alter table engine in migration script only when needed. Small startup memory leaks. --- diff --git a/org.glite.lb.server/config/glite-lb-migrate_db2version20 b/org.glite.lb.server/config/glite-lb-migrate_db2version20 index c5d9a0c..f59d647 100644 --- a/org.glite.lb.server/config/glite-lb-migrate_db2version20 +++ b/org.glite.lb.server/config/glite-lb-migrate_db2version20 @@ -59,20 +59,13 @@ if [ "$SERVER" -a "$PROXY" ]; then fi -# convert for transactions (if very old DB) -cat </dev/null + if [ $? != 0 ]; then + echo "ALTER TABLE $table ENGINE=InnoDB" | mysql -u lbserver $DB_NAME + fi +done # add new columns diff --git a/org.glite.lb.server/src/bkserverd.c b/org.glite.lb.server/src/bkserverd.c index 0138b56..8f8e62a 100644 --- a/org.glite.lb.server/src/bkserverd.c +++ b/org.glite.lb.server/src/bkserverd.c @@ -636,6 +636,10 @@ int main(int argc, char *argv[]) #endif /* GLITE_LB_SERVER_WITH_WS */ } +#ifdef GLITE_LB_SERVER_WITH_WS + free(ws_port); + ws_port = NULL; +#endif if (mode & SERVICE_PROXY) { /* proxy stuff */ struct sockaddr_un a; @@ -695,6 +699,7 @@ int main(int argc, char *argv[]) /* Just check the database and let it be. The slaves do the job. */ edg_wll_InitContext(&ctx); if (wait_for_open(ctx, dbstring)) { + edg_wll_Close(ctx); edg_wll_FreeContext(ctx); return 1; } @@ -1520,6 +1525,8 @@ static int wait_for_open(edg_wll_Context ctx, const char *dbstring) if (dbfail_string1) free(dbfail_string1); edg_wll_Error(ctx,&errt,&errd); asprintf(&dbfail_string1,"%s (%s)\n",errt,errd); + free(errt); + free(errd); if (dbfail_string1 != NULL) { if (dbfail_string2 == NULL || strcmp(dbfail_string1,dbfail_string2)) { if (dbfail_string2) free(dbfail_string2); @@ -1542,6 +1549,8 @@ static int wait_for_open(edg_wll_Context ctx, const char *dbstring) if (err) { edg_wll_Error(ctx,&errt,&errd); asprintf(&dbfail_string1,"%s (%s)\n",errt,errd); + free(errt); + free(errd); dprintf(("[%d]: %s\n", getpid(), dbfail_string1)); if (!debug) syslog(LOG_ERR,dbfail_string1); free(dbfail_string1); diff --git a/org.glite.lb.server/src/openserver.c b/org.glite.lb.server/src/openserver.c index 40e2e08..8580ff5 100644 --- a/org.glite.lb.server/src/openserver.c +++ b/org.glite.lb.server/src/openserver.c @@ -15,7 +15,7 @@ edg_wll_ErrorCode edg_wll_Open(edg_wll_Context ctx, char *cs) char *cols[20]; glite_lbu_Statement stmt; - if (glite_lbu_InitDBContext((glite_lbu_DBContext*) &ctx->dbctx) != 0) { + if (!ctx->dbctx && glite_lbu_InitDBContext((glite_lbu_DBContext*) &ctx->dbctx) != 0) { char *ed; glite_lbu_DBError(ctx->dbctx, NULL, &ed);