broadcast schema to rs after failover to primary
This commit is contained in:
@ -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_));
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,)\
|
||||
|
||||
Reference in New Issue
Block a user