Skip to content

Commit 72a06fd

Browse files
committed
Use -w option of pg_ctl to wait for the operation to complete
1 parent 1b778e1 commit 72a06fd

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

contrib/pgxc_ctl/coord_cmd.c

+12-12
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ cmd_t *prepare_initCoordinatorSlave(char *nodeName)
273273
/* Master is not running. Must start it first */
274274
appendCmdEl(cmdBuildDir, (cmdStartMaster = initCmd(aval(VAR_coordMasterServers)[idx])));
275275
snprintf(newCommand(cmdStartMaster), MAXLINE,
276-
"pg_ctl start -Z coordinator -D %s -o -i",
276+
"pg_ctl start -w -Z coordinator -D %s -o -i",
277277
aval(VAR_coordMasterDirs)[idx]);
278278
}
279279
/*
@@ -1152,7 +1152,7 @@ int add_coordinatorMaster(char *name, char *host, int port, int pooler,
11521152
aval(VAR_coordMasterServers)[connCordIndx], pgdumpall_out);
11531153

11541154
/* Start the new coordinator */
1155-
doImmediate(host, NULL, "pg_ctl start -Z restoremode -D %s -o -i", dir);
1155+
doImmediate(host, NULL, "pg_ctl start -w -Z restoremode -D %s -o -i", dir);
11561156

11571157
/* Allow the new coordinator to start up by sleeping for a couple of seconds */
11581158
pg_usleep(2000000L);
@@ -1162,7 +1162,7 @@ int add_coordinatorMaster(char *name, char *host, int port, int pooler,
11621162
doImmediateRaw("rm -f %s", pgdumpall_out);
11631163

11641164
/* Quit the new coordinator */
1165-
doImmediate(host, NULL, "pg_ctl stop -Z restoremode -D %s", dir);
1165+
doImmediate(host, NULL, "pg_ctl stop -w -Z restoremode -D %s", dir);
11661166

11671167
/* Start the new coordinator with --coordinator option */
11681168
AddMember(nodelist, name);
@@ -1368,9 +1368,9 @@ int add_coordinatorSlave(char *name, char *host, int port, int pooler_port, char
13681368
* transactions this coordinator is not involved.
13691369
*/
13701370
doImmediate(aval(VAR_coordMasterServers)[idx], NULL,
1371-
"pg_ctl stop -Z coordinator -D %s -m fast", aval(VAR_coordMasterDirs)[idx]);
1371+
"pg_ctl stop -w -Z coordinator -D %s -m fast", aval(VAR_coordMasterDirs)[idx]);
13721372
doImmediate(aval(VAR_coordMasterServers)[idx], NULL,
1373-
"pg_ctl start -Z coordinator -D %s", aval(VAR_coordMasterDirs)[idx]);
1373+
"pg_ctl start -w -Z coordinator -D %s", aval(VAR_coordMasterDirs)[idx]);
13741374
/* pg_basebackup */
13751375
doImmediate(host, NULL, "pg_basebackup -p %s -h %s -D %s -x",
13761376
aval(VAR_coordPorts)[idx], aval(VAR_coordMasterServers)[idx], dir);
@@ -1416,7 +1416,7 @@ int add_coordinatorSlave(char *name, char *host, int port, int pooler_port, char
14161416
pclose(f);
14171417

14181418
/* Start the slave */
1419-
doImmediate(host, NULL, "pg_ctl start -Z coordinator -D %s", dir);
1419+
doImmediate(host, NULL, "pg_ctl start -w -Z coordinator -D %s", dir);
14201420
return 0;
14211421
}
14221422

@@ -1711,7 +1711,7 @@ cmd_t *prepare_startCoordinatorMaster(char *nodeName)
17111711
}
17121712
cmd = cmdPgCtl = initCmd(aval(VAR_coordMasterServers)[idx]);
17131713
snprintf(newCommand(cmdPgCtl), MAXLINE,
1714-
"pg_ctl start -Z coordinator -D %s -o -i",
1714+
"pg_ctl start -w -Z coordinator -D %s -o -i",
17151715
aval(VAR_coordMasterDirs)[idx]);
17161716
return(cmd);
17171717
}
@@ -1771,7 +1771,7 @@ cmd_t *prepare_startCoordinatorSlave(char *nodeName)
17711771
}
17721772
cmd = cmdPgCtlStart = initCmd(aval(VAR_coordSlaveServers)[idx]);
17731773
snprintf(newCommand(cmdPgCtlStart), MAXLINE,
1774-
"pg_ctl start -Z coordinator -D %s -o -i",
1774+
"pg_ctl start -w -Z coordinator -D %s -o -i",
17751775
aval(VAR_coordSlaveDirs)[idx]);
17761776

17771777
/* Postgresql.conf at the Master */
@@ -1853,11 +1853,11 @@ cmd_t *prepare_stopCoordinatorMaster(char *nodeName, char *immediate)
18531853
cmd = initCmd(aval(VAR_coordMasterServers)[idx]);
18541854
if (immediate)
18551855
snprintf(newCommand(cmd), MAXLINE,
1856-
"pg_ctl stop -Z coordinator -D %s -m %s",
1856+
"pg_ctl stop -w -Z coordinator -D %s -m %s",
18571857
aval(VAR_coordMasterDirs)[idx], immediate);
18581858
else
18591859
snprintf(newCommand(cmd), MAXLINE,
1860-
"pg_ctl stop -Z coordinator -D %s",
1860+
"pg_ctl stop -w -Z coordinator -D %s",
18611861
aval(VAR_coordMasterDirs)[idx]);
18621862
return(cmd);
18631863
}
@@ -1944,11 +1944,11 @@ cmd_t *prepare_stopCoordinatorSlave(char *nodeName, char *immediate)
19441944
cmd = cmdPgCtlStop = initCmd(aval(VAR_coordSlaveServers)[idx]);
19451945
if (immediate)
19461946
snprintf(newCommand(cmdPgCtlStop), MAXLINE,
1947-
"pg_ctl stop -Z coordinator -D %s -m %s",
1947+
"pg_ctl stop -w -Z coordinator -D %s -m %s",
19481948
aval(VAR_coordSlaveDirs)[idx], immediate);
19491949
else
19501950
snprintf(newCommand(cmdPgCtlStop), MAXLINE,
1951-
"pg_ctl stop -Z coordinator -D %s",
1951+
"pg_ctl stop -w -Z coordinator -D %s",
19521952
aval(VAR_coordSlaveDirs)[idx]);
19531953
return(cmd);
19541954
}

contrib/pgxc_ctl/datanode_cmd.c

+11-11
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ cmd_t *prepare_startDatanodeMaster(char *nodeName)
391391
}
392392
cmdStartDatanodeMaster = initCmd(aval(VAR_datanodeMasterServers)[idx]);
393393
snprintf(newCommand(cmdStartDatanodeMaster), MAXLINE,
394-
"pg_ctl start -Z datanode -D %s -o -i", aval(VAR_datanodeMasterDirs)[idx]);
394+
"pg_ctl start -w -Z datanode -D %s -o -i", aval(VAR_datanodeMasterDirs)[idx]);
395395
return(cmdStartDatanodeMaster);
396396
}
397397

@@ -457,7 +457,7 @@ cmd_t *prepare_startDatanodeSlave(char *nodeName)
457457

458458
cmd = cmdStartDatanodeSlave = initCmd(aval(VAR_datanodeSlaveServers)[idx]);
459459
snprintf(newCommand(cmdStartDatanodeSlave), MAXLINE,
460-
"pg_ctl start -Z datanode -D %s",
460+
"pg_ctl start -w -Z datanode -D %s",
461461
aval(VAR_datanodeSlaveDirs)[idx]);
462462

463463
/* Change the master to synchronous mode */
@@ -534,11 +534,11 @@ cmd_t *prepare_stopDatanodeMaster(char *nodeName, char *immediate)
534534
cmdStopDatanodeMaster = initCmd(aval(VAR_datanodeMasterServers)[idx]);
535535
if (immediate)
536536
snprintf(newCommand(cmdStopDatanodeMaster), MAXLINE,
537-
"pg_ctl stop -Z datanode -D %s -m %s",
537+
"pg_ctl stop -w -Z datanode -D %s -m %s",
538538
aval(VAR_datanodeMasterDirs)[idx], immediate);
539539
else
540540
snprintf(newCommand(cmdStopDatanodeMaster), MAXLINE,
541-
"pg_ctl stop -Z datanode -D %s",
541+
"pg_ctl stop -w -Z datanode -D %s",
542542
aval(VAR_datanodeMasterDirs)[idx]);
543543
return(cmdStopDatanodeMaster);
544544
}
@@ -631,10 +631,10 @@ cmd_t *prepare_stopDatanodeSlave(char *nodeName, char *immediate)
631631
appendCmdEl(cmdMasterToAsyncMode, (cmdStopSlave = initCmd(aval(VAR_datanodeSlaveServers)[idx])));
632632
if (immediate)
633633
snprintf(newCommand(cmdStopSlave), MAXLINE,
634-
"pg_ctl stop -Z datanode -D %s -m %s", aval(VAR_datanodeSlaveDirs)[idx], immediate);
634+
"pg_ctl stop -w -Z datanode -D %s -m %s", aval(VAR_datanodeSlaveDirs)[idx], immediate);
635635
else
636636
snprintf(newCommand(cmdStopSlave), MAXLINE,
637-
"pg_ctl stop -Z datanode -D %s", aval(VAR_datanodeSlaveDirs)[idx]);
637+
"pg_ctl stop -w -Z datanode -D %s", aval(VAR_datanodeSlaveDirs)[idx]);
638638
return(cmd);
639639
}
640640

@@ -1142,7 +1142,7 @@ int add_datanodeMaster(char *name, char *host, int port, int pooler, char *dir,
11421142
pgdumpall_out);
11431143

11441144
/* Start the new datanode */
1145-
doImmediate(host, NULL, "pg_ctl start -Z restoremode -D %s -o -i", dir);
1145+
doImmediate(host, NULL, "pg_ctl start -w -Z restoremode -D %s -o -i", dir);
11461146

11471147
/* Allow the new datanode to start up by sleeping for a couple of seconds */
11481148
pg_usleep(2000000L);
@@ -1152,7 +1152,7 @@ int add_datanodeMaster(char *name, char *host, int port, int pooler, char *dir,
11521152
doImmediateRaw("rm -f %s", pgdumpall_out);
11531153

11541154
/* Quit the new datanode */
1155-
doImmediate(host, NULL, "pg_ctl stop -Z restoremode -D %s", dir);
1155+
doImmediate(host, NULL, "pg_ctl stop -w -Z restoremode -D %s", dir);
11561156

11571157
/* Start the new datanode with --datanode option */
11581158
AddMember(nodelist, name);
@@ -1364,9 +1364,9 @@ int add_datanodeSlave(char *name, char *host, int port, int pooler, char *dir, c
13641364
* transactions this coordinator is not involved.
13651365
*/
13661366
doImmediate(aval(VAR_datanodeMasterServers)[idx], NULL,
1367-
"pg_ctl stop -Z datanode -D %s -m fast", aval(VAR_datanodeMasterDirs)[idx]);
1367+
"pg_ctl stop -w -Z datanode -D %s -m fast", aval(VAR_datanodeMasterDirs)[idx]);
13681368
doImmediate(aval(VAR_datanodeMasterServers)[idx], NULL,
1369-
"pg_ctl start -Z datanode -D %s", aval(VAR_datanodeMasterDirs)[idx]);
1369+
"pg_ctl start -w -Z datanode -D %s", aval(VAR_datanodeMasterDirs)[idx]);
13701370
/* pg_basebackup */
13711371
doImmediate(host, NULL, "pg_basebackup -p %s -h %s -D %s -x",
13721372
aval(VAR_datanodePorts)[idx], aval(VAR_datanodeMasterServers)[idx], dir);
@@ -1409,7 +1409,7 @@ int add_datanodeSlave(char *name, char *host, int port, int pooler, char *dir, c
14091409
aval(VAR_datanodeArchLogDirs)[idx], aval(VAR_datanodeArchLogDirs)[idx]);
14101410
pclose(f);
14111411
/* Start the slave */
1412-
doImmediate(host, NULL, "pg_ctl start -Z datanode -D %s", dir);
1412+
doImmediate(host, NULL, "pg_ctl start -w -Z datanode -D %s", dir);
14131413
return 0;
14141414
}
14151415

0 commit comments

Comments
 (0)