broadcast schema to rs after failover to primary

This commit is contained in:
obdev
2023-06-27 23:48:22 +00:00
committed by ob-robot
parent 1b720abe5b
commit 05c349a3e7
3 changed files with 10 additions and 0 deletions

View File

@ -100,6 +100,7 @@ int ObStandbySchemaRefreshTrigger::submit_tenant_refresh_schema_task_()
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
rootserver::ObTenantInfoLoader *tenant_info_loader = MTL(rootserver::ObTenantInfoLoader*); rootserver::ObTenantInfoLoader *tenant_info_loader = MTL(rootserver::ObTenantInfoLoader*);
bool is_standby_normal_status = false; bool is_standby_normal_status = false;
DEBUG_SYNC(BLOCK_STANDBY_REFRESH_SCHEMA);
if (OB_FAIL(check_inner_stat_())) { if (OB_FAIL(check_inner_stat_())) {
WSTAT("error unexpected", KR(ret), K(tenant_id_), KP(sql_proxy_)); WSTAT("error unexpected", KR(ret), K(tenant_id_), KP(sql_proxy_));

View File

@ -143,6 +143,14 @@ int ObTenantRoleTransitionService::failover_to_primary()
if (OB_FAIL(ret)) { if (OB_FAIL(ret)) {
} else { } else {
(void)broadcast_tenant_info(ObTenantRoleTransitionConstants::SWITCH_TO_PRIMARY_LOG_MOD_STR); (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; const int64_t cost = ObTimeUtility::current_time() - start_service_time;

View File

@ -398,6 +398,7 @@ class ObString;
ACT(SWITCHING_TO_STANDBY,)\ ACT(SWITCHING_TO_STANDBY,)\
ACT(BEFORE_RECOVER_USER_LS,)\ ACT(BEFORE_RECOVER_USER_LS,)\
ACT(BEFORE_PREPARE_FLASHBACK,)\ ACT(BEFORE_PREPARE_FLASHBACK,)\
ACT(BLOCK_STANDBY_REFRESH_SCHEMA,)\
ACT(BEFORE_LS_RESTORE_SYS_TABLETS,)\ ACT(BEFORE_LS_RESTORE_SYS_TABLETS,)\
ACT(BEFORE_WAIT_RESTORE_SYS_TABLETS,)\ ACT(BEFORE_WAIT_RESTORE_SYS_TABLETS,)\
ACT(BEFORE_WAIT_RESTORE_TABLETS_META,)\ ACT(BEFORE_WAIT_RESTORE_TABLETS_META,)\