From 3f68c09f9dd1f713ae81a60455719da1820ed4f6 Mon Sep 17 00:00:00 2001 From: zhenjinyang Date: Wed, 8 May 2024 15:03:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8C=89=E9=9C=80=E5=9B=9E?= =?UTF-8?q?=E6=94=BE=E5=AE=9E=E6=97=B6=E6=9E=84=E5=BB=BA=EF=BC=8C=E6=89=A7?= =?UTF-8?q?=E8=A1=8Cswitchover=E6=97=B6=EF=BC=8C=E4=B8=BB=E6=9C=BAcoredump?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gausskernel/ddes/adapter/ss_dms_callback.cpp | 3 +-- src/gausskernel/ddes/adapter/ss_reform_common.cpp | 15 +++++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp index 85a86eb936..39d6497d7b 100644 --- a/src/gausskernel/ddes/adapter/ss_dms_callback.cpp +++ b/src/gausskernel/ddes/adapter/ss_dms_callback.cpp @@ -1834,7 +1834,6 @@ static void CBReformStartNotify(void *db_handle, dms_reform_start_context_t *rs_ ereport(LOG, (errmsg("[SS Reform] starts, pmState=%d, SSClusterState=%d, demotion=%d-%d, rec=%d", pmState, g_instance.dms_cxt.SSClusterState, g_instance.demotion, t_thrd.walsender_cxt.WalSndCtl->demotion, t_thrd.xlog_cxt.InRecovery))); - SSHandleStartupWhenReformStart(); ss_reform_info_t *reform_info = &g_instance.dms_cxt.SSReformInfo; reform_info->is_hashmap_constructed = false; reform_info->reform_type = rs_cxt->reform_type; @@ -1853,7 +1852,7 @@ static void CBReformStartNotify(void *db_handle, dms_reform_start_context_t *rs_ SSXminInfoPrepare(); reform_info->reform_ver = reform_info->reform_start_time; reform_info->in_reform = true; - + SSHandleStartupWhenReformStart(); char reform_type_str[reform_type_str_len] = {0}; ReformTypeToString(reform_info->reform_type, reform_type_str); ereport(LOG, (errmodule(MOD_DMS), diff --git a/src/gausskernel/ddes/adapter/ss_reform_common.cpp b/src/gausskernel/ddes/adapter/ss_reform_common.cpp index c65b46c2d9..ecfca6864e 100644 --- a/src/gausskernel/ddes/adapter/ss_reform_common.cpp +++ b/src/gausskernel/ddes/adapter/ss_reform_common.cpp @@ -627,10 +627,17 @@ void SSHandleStartupWhenReformStart() } if (ENABLE_ONDEMAND_RECOVERY && ENABLE_ONDEMAND_REALTIME_BUILD) { - ereport(LOG, (errmodule(MOD_DMS), - errmsg("[SS reform][On-demand] start phase, on_demand real time build is enable " - "no need wait startup thread exit."))); - return; + if (SS_PERFORMING_SWITCHOVER && SS_REFORM_PARTNER) { + ereport(LOG, (errmodule(MOD_DMS), + errmsg("[SS reform][On-demand] reform start phase, ondemand realtime build is enabled during switchover ."))); + SSWaitStartupExit(true); + return; + } else { + ereport(LOG, (errmodule(MOD_DMS), + errmsg("[SS reform][On-demand] start phase, ondemand realtime build is enable " + "ondemand realtime build is enabled during startup, no need wait startup thread exit ."))); + return; + } } if (SS_DISASTER_MAIN_STANDBY_NODE) { -- Gitee