!841 【issue #I3C34R】解决switchover,主机一直demoting的问题

Merge pull request !841 from maxiang/master
This commit is contained in:
opengauss-bot
2021-03-19 19:24:24 +08:00
committed by Gitee
2 changed files with 7 additions and 7 deletions

View File

@ -4058,9 +4058,6 @@ static void SIGHUP_handler(SIGNAL_ARGS)
if (
#ifdef ENABLE_MULTIPLE_NODES
IS_PGXC_COORDINATOR &&
#else
(t_thrd.postmaster_cxt.HaShmData->current_mode == NORMAL_MODE ||
t_thrd.postmaster_cxt.HaShmData->current_mode == PRIMARY_MODE) &&
#endif
g_instance.pid_cxt.TwoPhaseCleanerPID != 0)
signal_child(g_instance.pid_cxt.TwoPhaseCleanerPID, SIGHUP);
@ -4644,6 +4641,9 @@ static void ProcessDemoteRequest(void)
Assert(!dummyStandbyMode);
signal_child(g_instance.pid_cxt.BgWriterPID, SIGTERM);
}
if (g_instance.pid_cxt.TwoPhaseCleanerPID != 0)
signal_child(g_instance.pid_cxt.TwoPhaseCleanerPID, SIGTERM);
/* and the walwriter too */
if (g_instance.pid_cxt.WalWriterPID != 0)
signal_child(g_instance.pid_cxt.WalWriterPID, SIGTERM);
@ -4715,6 +4715,9 @@ static void ProcessDemoteRequest(void)
if (g_instance.pid_cxt.HeartbeatPID != 0)
signal_child(g_instance.pid_cxt.HeartbeatPID, SIGTERM);
if (g_instance.pid_cxt.TwoPhaseCleanerPID != 0)
signal_child(g_instance.pid_cxt.TwoPhaseCleanerPID, SIGTERM);
if (g_instance.pid_cxt.WLMCollectPID != 0) {
WLMProcessThreadShutDown();
signal_child(g_instance.pid_cxt.WLMCollectPID, SIGTERM);
@ -5564,9 +5567,6 @@ static void reaper(SIGNAL_ARGS)
if (
#ifdef ENABLE_MULTIPLE_NODES
IS_PGXC_COORDINATOR &&
#else
(t_thrd.postmaster_cxt.HaShmData->current_mode == NORMAL_MODE ||
t_thrd.postmaster_cxt.HaShmData->current_mode == PRIMARY_MODE) &&
#endif
pid == g_instance.pid_cxt.TwoPhaseCleanerPID) {
g_instance.pid_cxt.TwoPhaseCleanerPID = 0;

View File

@ -175,7 +175,7 @@ NON_EXEC_STATIC void TwoPhaseCleanerMain()
rc = sprintf_s(cmd,
sizeof(cmd),
"gs_clean -a -p %d -e -v -r -j %d > /dev/null 2>&1",
g_instance.attr.attr_network.PoolerPort,
g_instance.attr.attr_network.PostPortNumber,
u_sess->attr.attr_storage.twophase_clean_workers);
securec_check_ss(rc, "\0", "\0");
#endif