summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavan Deolasee2016-03-22 07:52:41 +0000
committerPavan Deolasee2016-10-18 10:04:33 +0000
commit03ee8e89befc1bccf7206a6fd61355f4fc0b2657 (patch)
tree547b4fb0d582ea184db181f7b32b36f93e5aace9
parentc161a88b480938792b7c5010e6f01838de101c06 (diff)
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
-rw-r--r--contrib/pgxc_ctl/gtm_cmd.c33
1 files changed, 25 insertions, 8 deletions
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);
}