Changeset: 19017c9aa954 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=19017c9aa954
Modified Files:
        tools/merovingian/daemon/forkmserver.c
Branch: default
Log Message:

Merge with Jul2017 branch.


diffs (truncated from 943 to 300 lines):

diff --git a/tools/merovingian/daemon/forkmserver.c 
b/tools/merovingian/daemon/forkmserver.c
--- a/tools/merovingian/daemon/forkmserver.c
+++ b/tools/merovingian/daemon/forkmserver.c
@@ -52,7 +52,7 @@ terminateProcess(pid_t pid, char *dbname
                if (lock)
                        pthread_mutex_unlock(&fork_lock);
                Mfprintf(stderr, "cannot terminate process %lld: %s\n",
-                               (long long int)pid, er);
+                                (long long int)pid, er);
                free(er);
                free(dbname);
                return;
@@ -62,47 +62,47 @@ terminateProcess(pid_t pid, char *dbname
                if (lock)
                        pthread_mutex_unlock(&fork_lock);
                Mfprintf(stderr, "strange, process %lld serves database '%s' "
-                               "which does not exist\n", (long long int)pid, 
dbname);
+                                "which does not exist\n", (long long int)pid, 
dbname);
                free(dbname);
                return;
        }
 
        switch (stats->state) {
-               case SABdbRunning:
-                       /* ok, what we expect */
+       case SABdbRunning:
+               /* ok, what we expect */
                break;
-               case SABdbCrashed:
-                       if (lock)
-                               pthread_mutex_unlock(&fork_lock);
-                       Mfprintf(stderr, "cannot shut down database '%s', 
mserver "
-                                       "(pid %lld) has crashed\n",
-                                       dbname, (long long int)pid);
-                       msab_freeStatus(&stats);
-                       free(dbname);
-                       return;
-               case SABdbInactive:
-                       if (lock)
-                               pthread_mutex_unlock(&fork_lock);
-                       Mfprintf(stdout, "database '%s' appears to have shut 
down already\n",
-                                       dbname);
-                       fflush(stdout);
-                       msab_freeStatus(&stats);
-                       free(dbname);
-                       return;
-               case SABdbStarting:
-                       if (lock)
-                               pthread_mutex_unlock(&fork_lock);
-                       Mfprintf(stderr, "database '%s' appears to be starting 
up\n",
-                                        dbname);
-                       /* starting up, so we'll go to the shut down phase */
-                       break;
-               default:
-                       if (lock)
-                               pthread_mutex_unlock(&fork_lock);
-                       Mfprintf(stderr, "unknown state: %d\n", 
(int)stats->state);
-                       msab_freeStatus(&stats);
-                       free(dbname);
-                       return;
+       case SABdbCrashed:
+               if (lock)
+                       pthread_mutex_unlock(&fork_lock);
+               Mfprintf(stderr, "cannot shut down database '%s', mserver "
+                                "(pid %lld) has crashed\n",
+                                dbname, (long long int)pid);
+               msab_freeStatus(&stats);
+               free(dbname);
+               return;
+       case SABdbInactive:
+               if (lock)
+                       pthread_mutex_unlock(&fork_lock);
+               Mfprintf(stdout, "database '%s' appears to have shut down 
already\n",
+                                dbname);
+               fflush(stdout);
+               msab_freeStatus(&stats);
+               free(dbname);
+               return;
+       case SABdbStarting:
+               if (lock)
+                       pthread_mutex_unlock(&fork_lock);
+               Mfprintf(stderr, "database '%s' appears to be starting up\n",
+                                dbname);
+               /* starting up, so we'll go to the shut down phase */
+               break;
+       default:
+               if (lock)
+                       pthread_mutex_unlock(&fork_lock);
+               Mfprintf(stderr, "unknown state: %d\n", (int)stats->state);
+               msab_freeStatus(&stats);
+               free(dbname);
+               return;
        }
 
        if (type == MEROFUN) {
@@ -124,7 +124,7 @@ terminateProcess(pid_t pid, char *dbname
 
        /* ok, once we get here, we'll be shutting down the server */
        Mfprintf(stdout, "sending process %lld (database '%s') the "
-                       "TERM signal\n", (long long int)pid, dbname);
+                        "TERM signal\n", (long long int)pid, dbname);
        kill(pid, SIGTERM);
        kv = findConfKey(_mero_props, "exittimeout");
        for (i = 0; i < atoi(kv->val) * 2; i++) {
@@ -138,38 +138,38 @@ terminateProcess(pid_t pid, char *dbname
                        /* don't die, just continue, so we KILL in the end */
                } else if (stats == NULL) {
                        Mfprintf(stderr, "hmmmm, database '%s' suddenly doesn't 
exist "
-                                       "any more\n", dbname);
+                                        "any more\n", dbname);
                } else {
                        switch (stats->state) {
-                               case SABdbRunning:
-                               case SABdbStarting:
-                                       /* ok, try again */
+                       case SABdbRunning:
+                       case SABdbStarting:
+                               /* ok, try again */
                                break;
-                               case SABdbCrashed:
-                                       if (lock)
-                                               
pthread_mutex_unlock(&fork_lock);
-                                       Mfprintf (stderr, "database '%s' 
crashed after SIGTERM\n",
-                                                       dbname);
-                                       msab_freeStatus(&stats);
-                                       free(dbname);
-                                       return;
-                               case SABdbInactive:
-                                       if (lock)
-                                               
pthread_mutex_unlock(&fork_lock);
-                                       Mfprintf(stdout, "database '%s' has 
shut down\n", dbname);
-                                       fflush(stdout);
-                                       msab_freeStatus(&stats);
-                                       free(dbname);
-                                       return;
-                               default:
-                                       Mfprintf(stderr, "unknown state: %d\n", 
(int)stats->state);
+                       case SABdbCrashed:
+                               if (lock)
+                                       pthread_mutex_unlock(&fork_lock);
+                               Mfprintf (stderr, "database '%s' crashed after 
SIGTERM\n",
+                                                 dbname);
+                               msab_freeStatus(&stats);
+                               free(dbname);
+                               return;
+                       case SABdbInactive:
+                               if (lock)
+                                       pthread_mutex_unlock(&fork_lock);
+                               Mfprintf(stdout, "database '%s' has shut 
down\n", dbname);
+                               fflush(stdout);
+                               msab_freeStatus(&stats);
+                               free(dbname);
+                               return;
+                       default:
+                               Mfprintf(stderr, "unknown state: %d\n", 
(int)stats->state);
                                break;
                        }
                }
        }
        Mfprintf(stderr, "timeout of %s seconds expired, sending process %lld"
-                       " (database '%s') the KILL signal\n",
-                       kv->val, (long long int)pid, dbname);
+                        " (database '%s') the KILL signal\n",
+                        kv->val, (long long int)pid, dbname);
        kill(pid, SIGKILL);
        msab_freeStatus(&stats);
        free(dbname);
@@ -200,6 +200,24 @@ forkMserver(char *database, sabdb** stat
        char upmax[8];
        confkeyval *ckv, *kv, *list;
        SABdbState state;
+       char *sabdbfarm;
+       char dbpath[1024];
+       char dbextra_path[1024];
+       char port[24];
+       char muri[512]; /* possibly undersized */
+       char usock[512];
+       char mydoproxy;
+       char nthreads[24];
+       char nclients[24];
+       char pipeline[512];
+       char *readonly = NULL;
+       char *embeddedr = NULL;
+       char *embeddedpy = NULL;
+       char *dbextra = NULL;
+       char *argv[512];        /* for the exec arguments */
+       char property_other[1024];
+       int c = 0;
+       unsigned int mport;
 
        er = msab_getStatus(stats, database);
        if (er != NULL) {
@@ -256,14 +274,14 @@ forkMserver(char *database, sabdb** stat
        if ((*stats)->locked == 1) {
                if (force == 0) {
                        Mfprintf(stdout, "%s '%s' is under maintenance\n",
-                                       kv->val, database);
+                                        kv->val, database);
                        freeConfFile(ckv);
                        free(ckv);
                        pthread_mutex_unlock(&fork_lock);
                        return(NO_ERR);
                } else {
                        Mfprintf(stdout, "startup of %s under maintenance "
-                                       "'%s' forced\n", kv->val, database);
+                                        "'%s' forced\n", kv->val, database);
                }
        }
 
@@ -280,48 +298,48 @@ forkMserver(char *database, sabdb** stat
        }
 
        switch ((*stats)->state) {
-               case SABdbRunning:
-                       freeConfFile(ckv);
-                       free(ckv);
-                       pthread_mutex_unlock(&fork_lock);
-                       return(NO_ERR);
-               case SABdbCrashed:
-                       t = localtime(&info.lastcrash);
-                       strftime(tstr, sizeof(tstr), "%Y-%m-%d %H:%M:%S", t);
-                       secondsToString(upmin, info.minuptime, 1);
-                       secondsToString(upavg, info.avguptime, 1);
-                       secondsToString(upmax, info.maxuptime, 1);
-                       Mfprintf(stdout, "%s '%s' has crashed after start on 
%s, "
-                                       "attempting restart, "
-                                       "up min/avg/max: %s/%s/%s, "
-                                       "crash average: %d.00 %.2f %.2f 
(%d-%d=%d)\n",
-                                       kv->val, database, tstr,
-                                       upmin, upavg, upmax,
-                                       info.crashavg1, info.crashavg10, 
info.crashavg30,
-                                       info.startcntr, info.stopcntr, 
info.crashcntr);
+       case SABdbRunning:
+               freeConfFile(ckv);
+               free(ckv);
+               pthread_mutex_unlock(&fork_lock);
+               return(NO_ERR);
+       case SABdbCrashed:
+               t = localtime(&info.lastcrash);
+               strftime(tstr, sizeof(tstr), "%Y-%m-%d %H:%M:%S", t);
+               secondsToString(upmin, info.minuptime, 1);
+               secondsToString(upavg, info.avguptime, 1);
+               secondsToString(upmax, info.maxuptime, 1);
+               Mfprintf(stdout, "%s '%s' has crashed after start on %s, "
+                                "attempting restart, "
+                                "up min/avg/max: %s/%s/%s, "
+                                "crash average: %d.00 %.2f %.2f (%d-%d=%d)\n",
+                                kv->val, database, tstr,
+                                upmin, upavg, upmax,
+                                info.crashavg1, info.crashavg10, 
info.crashavg30,
+                                info.startcntr, info.stopcntr, info.crashcntr);
                break;
-               case SABdbInactive:
-                       secondsToString(upmin, info.minuptime, 1);
-                       secondsToString(upavg, info.avguptime, 1);
-                       secondsToString(upmax, info.maxuptime, 1);
-                       Mfprintf(stdout, "starting %s '%s', "
-                                       "up min/avg/max: %s/%s/%s, "
-                                       "crash average: %d.00 %.2f %.2f 
(%d-%d=%d)\n",
-                                       kv->val, database,
-                                       upmin, upavg, upmax,
-                                       info.crashavg1, info.crashavg10, 
info.crashavg30,
-                                       info.startcntr, info.stopcntr, 
info.crashcntr);
+       case SABdbInactive:
+               secondsToString(upmin, info.minuptime, 1);
+               secondsToString(upavg, info.avguptime, 1);
+               secondsToString(upmax, info.maxuptime, 1);
+               Mfprintf(stdout, "starting %s '%s', "
+                                "up min/avg/max: %s/%s/%s, "
+                                "crash average: %d.00 %.2f %.2f (%d-%d=%d)\n",
+                                kv->val, database,
+                                upmin, upavg, upmax,
+                                info.crashavg1, info.crashavg10, 
info.crashavg30,
+                                info.startcntr, info.stopcntr, info.crashcntr);
                break;
-               default:
-                       /* this also includes SABdbStarting, which we shouldn't 
ever
-                        * see due to the global starting lock */
-                       state = (*stats)->state;
-                       msab_freeStatus(stats);
-                       freeConfFile(ckv);
-                       free(ckv);
-                       pthread_mutex_unlock(&fork_lock);
-                       return(newErr("unknown or impossible state: %d",
-                                               (int)state));
+       default:
+               /* this also includes SABdbStarting, which we shouldn't ever
+                * see due to the global starting lock */
+               state = (*stats)->state;
+               msab_freeStatus(stats);
+               freeConfFile(ckv);
+               free(ckv);
+               pthread_mutex_unlock(&fork_lock);
+               return(newErr("unknown or impossible state: %d",
+                                         (int)state));
        }
 
        /* create the pipes (filedescriptors) now, such that we and the
@@ -364,10 +382,9 @@ forkMserver(char *database, sabdb** stat
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to