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;
|
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_));
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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,)\
|
||||||
|
|||||||
Reference in New Issue
Block a user