diff --git a/src/rootserver/ob_standby_schema_refresh_trigger.cpp b/src/rootserver/ob_standby_schema_refresh_trigger.cpp index 861af2ac7f..7ae05ba569 100644 --- a/src/rootserver/ob_standby_schema_refresh_trigger.cpp +++ b/src/rootserver/ob_standby_schema_refresh_trigger.cpp @@ -100,6 +100,7 @@ int ObStandbySchemaRefreshTrigger::submit_tenant_refresh_schema_task_() int ret = OB_SUCCESS; rootserver::ObTenantInfoLoader *tenant_info_loader = MTL(rootserver::ObTenantInfoLoader*); bool is_standby_normal_status = false; + DEBUG_SYNC(BLOCK_STANDBY_REFRESH_SCHEMA); if (OB_FAIL(check_inner_stat_())) { WSTAT("error unexpected", KR(ret), K(tenant_id_), KP(sql_proxy_)); diff --git a/src/rootserver/ob_tenant_role_transition_service.cpp b/src/rootserver/ob_tenant_role_transition_service.cpp index 957010f036..d5d6053e3d 100644 --- a/src/rootserver/ob_tenant_role_transition_service.cpp +++ b/src/rootserver/ob_tenant_role_transition_service.cpp @@ -143,6 +143,14 @@ int ObTenantRoleTransitionService::failover_to_primary() if (OB_FAIL(ret)) { } else { (void)broadcast_tenant_info(ObTenantRoleTransitionConstants::SWITCH_TO_PRIMARY_LOG_MOD_STR); + ObBroadcastSchemaArg arg; + arg.tenant_id_ = tenant_id_; + if (OB_ISNULL(GCTX.rs_rpc_proxy_) || OB_ISNULL(GCTX.rs_mgr_)) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("common rpc proxy is null", KR(ret), KP(GCTX.rs_mgr_), KP(GCTX.rs_rpc_proxy_)); + } else if (OB_FAIL(GCTX.rs_rpc_proxy_->to_rs(*GCTX.rs_mgr_).broadcast_schema(arg))) { + LOG_WARN("failed to broadcast schema", KR(ret), K(arg)); + } } const int64_t cost = ObTimeUtility::current_time() - start_service_time; diff --git a/src/share/ob_debug_sync_point.h b/src/share/ob_debug_sync_point.h index f22314af58..0e60029663 100755 --- a/src/share/ob_debug_sync_point.h +++ b/src/share/ob_debug_sync_point.h @@ -398,6 +398,7 @@ class ObString; ACT(SWITCHING_TO_STANDBY,)\ ACT(BEFORE_RECOVER_USER_LS,)\ ACT(BEFORE_PREPARE_FLASHBACK,)\ + ACT(BLOCK_STANDBY_REFRESH_SCHEMA,)\ ACT(BEFORE_LS_RESTORE_SYS_TABLETS,)\ ACT(BEFORE_WAIT_RESTORE_SYS_TABLETS,)\ ACT(BEFORE_WAIT_RESTORE_TABLETS_META,)\