From: Pavan Deolasee Date: Tue, 22 Mar 2016 07:52:41 +0000 (+0530) Subject: Check if gtm/gtm_proxy directory has a .pid file before trying to stop the X-Git-Tag: XL9_5_R1BETA2~15 X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=07fa194f83d805039c693ddf5f1ada9b087a9fa4;p=postgres-xl.git Check if gtm/gtm_proxy directory has a .pid file before trying to stop the server. Before starting or initialising a new GTM/GTM proxy, we first try to stop running server. But if server is not running, which is the case most often, it will show an error This avoids those unnecessary error messages --- diff --git a/contrib/pgxc_ctl/gtm_cmd.c b/contrib/pgxc_ctl/gtm_cmd.c index 7fc77ba28c..38ac3d84ae 100644 --- a/contrib/pgxc_ctl/gtm_cmd.c +++ b/contrib/pgxc_ctl/gtm_cmd.c @@ -70,9 +70,13 @@ cmd_t *prepare_initGtmMaster(bool stop) cmdInitGtmMaster = initCmd(sval(VAR_gtmMasterServer)); snprintf(newCommand(cmdInitGtmMaster), MAXLINE, "%s;" - "gtm_ctl -D %s -m immediate -Z gtm stop; rm -rf %s; mkdir -p %s;initgtm -Z gtm -D %s", + "[ -f %s/gtm.pid ] && gtm_ctl -D %s -m immediate -Z gtm stop;" + "rm -rf %s;" + "mkdir -p %s;" + "initgtm -Z gtm -D %s", remoteDirCheck, sval(VAR_gtmMasterDir), + sval(VAR_gtmMasterDir), sval(VAR_gtmMasterDir), sval(VAR_gtmMasterDir), sval(VAR_gtmMasterDir)); /* Then prepare gtm.conf file */ @@ -409,7 +413,11 @@ cmd_t *prepare_initGtmSlave(void) /* Kill current gtm, build work directory and run initgtm */ cmdInitGtm = initCmd(sval(VAR_gtmSlaveServer)); snprintf(newCommand(cmdInitGtm), MAXLINE, - "gtm_ctl -D %s -m immediate -Z gtm stop; rm -rf %s; mkdir -p %s; initgtm -Z gtm -D %s", + "[ -f %s/gtm.pid ] && gtm_ctl -D %s -m immediate -Z gtm stop;" + "rm -rf %s;" + "mkdir -p %s;" + "initgtm -Z gtm -D %s", + sval(VAR_gtmSlaveDir), sval(VAR_gtmSlaveDir), sval(VAR_gtmSlaveDir), sval(VAR_gtmSlaveDir), sval(VAR_gtmSlaveDir)); @@ -478,10 +486,13 @@ cmd_t *prepare_startGtmMaster(void) cmdGtmCtl = initCmd(sval(VAR_gtmMasterServer)); snprintf(newCommand(cmdGtmCtl), MAXLINE, - "gtm_ctl stop -Z gtm -D %s;" + "[ -f %s/gtm.pid ] && gtm_ctl stop -Z gtm -D %s;" "rm -f %s/register.node;" "gtm_ctl start -Z gtm -D %s", - sval(VAR_gtmMasterDir), sval(VAR_gtmMasterDir), sval(VAR_gtmMasterDir)); + sval(VAR_gtmMasterDir), + sval(VAR_gtmMasterDir), + sval(VAR_gtmMasterDir), + sval(VAR_gtmMasterDir)); return cmdGtmCtl; } @@ -517,10 +528,13 @@ cmd_t *prepare_startGtmSlave(void) } cmdGtmCtl = initCmd(sval(VAR_gtmSlaveServer)); snprintf(newCommand(cmdGtmCtl), MAXLINE, - "gtm_ctl stop -Z gtm -D %s;" + "[ -f %s/gtm.pid ] && gtm_ctl stop -Z gtm -D %s;" "rm -rf %s/register.node;" "gtm_ctl start -Z gtm -D %s", - sval(VAR_gtmSlaveDir), sval(VAR_gtmSlaveDir), sval(VAR_gtmSlaveDir)); + sval(VAR_gtmSlaveDir), + sval(VAR_gtmSlaveDir), + sval(VAR_gtmSlaveDir), + sval(VAR_gtmSlaveDir)); return (cmdGtmCtl); } @@ -553,6 +567,7 @@ cmd_t *prepare_stopGtmMaster(void) cmdGtmCtl = initCmd(sval(VAR_gtmMasterServer)); snprintf(newCommand(cmdGtmCtl), MAXLINE, "gtm_ctl stop -Z gtm -D %s", + sval(VAR_gtmMasterDir), sval(VAR_gtmMasterDir)); return(cmdGtmCtl); } @@ -1038,13 +1053,14 @@ cmd_t *prepare_initGtmProxy(char *nodeName) /* Build directory and run initgtm */ cmdInitGtm = initCmd(aval(VAR_gtmProxyServers)[idx]); snprintf(newCommand(cmdInitGtm), MAXLINE, - "gtm_ctl -D %s -m immediate -Z gtm_proxy stop;" + "[ -f %s/gtm_proxy.pid ] && gtm_ctl -D %s -m immediate -Z gtm_proxy stop;" "rm -rf %s;" "mkdir -p %s;" "initgtm -Z gtm_proxy -D %s", aval(VAR_gtmProxyDirs)[idx], aval(VAR_gtmProxyDirs)[idx], aval(VAR_gtmProxyDirs)[idx], + aval(VAR_gtmProxyDirs)[idx], aval(VAR_gtmProxyDirs)[idx]); /* Configure gtm_proxy.conf */ @@ -1146,9 +1162,10 @@ cmd_t *prepare_startGtmProxy(char *nodeName) } cmd = initCmd(aval(VAR_gtmProxyServers)[idx]); snprintf(newCommand(cmd), MAXLINE, - "gtm_ctl -D %s -m immediate -Z gtm_proxy stop;" + "[ -f %s/gtm_proxy.pid ] && gtm_ctl -D %s -m immediate -Z gtm_proxy stop;" "gtm_ctl start -Z gtm_proxy -D %s", aval(VAR_gtmProxyDirs)[idx], + aval(VAR_gtmProxyDirs)[idx], aval(VAR_gtmProxyDirs)[idx]); return(cmd); }