fix OB_LEADER_NOT_EXIST error code of get_major_freeze_service
This commit is contained in:
@ -221,6 +221,9 @@ int ObMajorFreezeHelper::do_one_tenant_major_freeze(
|
|||||||
.by(tenant_id)
|
.by(tenant_id)
|
||||||
.dst_cluster_id(GCONF.cluster_id)
|
.dst_cluster_id(GCONF.cluster_id)
|
||||||
.major_freeze(req, resp))) {
|
.major_freeze(req, resp))) {
|
||||||
|
LOG_WARN("tenant_major_freeze rpc failed", KR(ret), K(tenant_id), K(leader), K(freeze_info));
|
||||||
|
} else if (FALSE_IT(ret = resp.err_code_)) {
|
||||||
|
} else if (OB_FAIL(ret)) {
|
||||||
if (OB_LEADER_NOT_EXIST == ret || OB_EAGAIN == ret) {
|
if (OB_LEADER_NOT_EXIST == ret || OB_EAGAIN == ret) {
|
||||||
const int64_t idle_time = 200 * 1000 * (i + 1);
|
const int64_t idle_time = 200 * 1000 * (i + 1);
|
||||||
LOG_WARN("leader may switch or ddl confilict, will retry", KR(ret), K(tenant_id), K(freeze_info),
|
LOG_WARN("leader may switch or ddl confilict, will retry", KR(ret), K(tenant_id), K(freeze_info),
|
||||||
@ -347,6 +350,9 @@ int ObMajorFreezeHelper::do_one_tenant_admin_merge(
|
|||||||
.by(tenant_id)
|
.by(tenant_id)
|
||||||
.dst_cluster_id(GCONF.cluster_id)
|
.dst_cluster_id(GCONF.cluster_id)
|
||||||
.tenant_admin_merge(req, resp))) {
|
.tenant_admin_merge(req, resp))) {
|
||||||
|
LOG_WARN("tenant_admin_merge rpc failed", KR(ret), K(tenant_id), K(leader), K(admin_type));
|
||||||
|
} else if (FALSE_IT(ret = resp.err_code_)) {
|
||||||
|
} else if (OB_FAIL(ret)) {
|
||||||
if (OB_LEADER_NOT_EXIST == ret) {
|
if (OB_LEADER_NOT_EXIST == ret) {
|
||||||
const int64_t idle_time = 200 * 1000 * (i + 1);
|
const int64_t idle_time = 200 * 1000 * (i + 1);
|
||||||
LOG_WARN("leader may switch, will retry", K(tenant_id), K(admin_type), "ori_leader", leader, K(idle_time));
|
LOG_WARN("leader may switch, will retry", K(tenant_id), K(admin_type), "ori_leader", leader, K(idle_time));
|
||||||
@ -359,6 +365,11 @@ int ObMajorFreezeHelper::do_one_tenant_admin_merge(
|
|||||||
admin_merge_done = true;
|
admin_merge_done = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (OB_SUCC(ret) && !admin_merge_done) {
|
||||||
|
ret = OB_LEADER_NOT_EXIST;
|
||||||
|
LOG_WARN("fail to retry admin merge cuz switching role", KR(ret), K(MAX_RETRY_COUNT));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_INFO("finish to do tenant admin mrege", K(tenant_id), K(leader), K(admin_type), KR(ret));
|
LOG_INFO("finish to do tenant admin mrege", K(tenant_id), K(leader), K(admin_type), KR(ret));
|
||||||
|
|||||||
@ -61,7 +61,6 @@ int ObTenantMajorFreezeP::process()
|
|||||||
|
|
||||||
if (FAILEDx(rootserver::ObMajorFreezeUtil::get_major_freeze_service(primary_major_freeze_service_,
|
if (FAILEDx(rootserver::ObMajorFreezeUtil::get_major_freeze_service(primary_major_freeze_service_,
|
||||||
restore_major_freeze_service_, major_freeze_service, is_primary_service))) {
|
restore_major_freeze_service_, major_freeze_service, is_primary_service))) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
|
||||||
RS_LOG(WARN, "fail to get major freeze service", KR(ret), K(req));
|
RS_LOG(WARN, "fail to get major freeze service", KR(ret), K(req));
|
||||||
} else if (OB_ISNULL(major_freeze_service)) {
|
} else if (OB_ISNULL(major_freeze_service)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
@ -75,16 +74,16 @@ int ObTenantMajorFreezeP::process()
|
|||||||
if (OB_MAJOR_FREEZE_NOT_FINISHED != ret && (OB_FROZEN_INFO_ALREADY_EXIST != ret)) {
|
if (OB_MAJOR_FREEZE_NOT_FINISHED != ret && (OB_FROZEN_INFO_ALREADY_EXIST != ret)) {
|
||||||
RS_LOG(WARN, "fail to launch_major_freeze", KR(ret), K(req), K(is_primary_service));
|
RS_LOG(WARN, "fail to launch_major_freeze", KR(ret), K(req), K(is_primary_service));
|
||||||
}
|
}
|
||||||
res.err_code_ = ret;
|
|
||||||
} else {
|
} else {
|
||||||
res.err_code_ = OB_SUCCESS;
|
RS_LOG(INFO, "launch_major_freeze succ", K(req), K(is_primary_service));
|
||||||
RS_LOG(INFO, "launch_major_freeze succ", K(req), K(res), K(is_primary_service));
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ret = OB_MAJOR_FREEZE_NOT_ALLOW;
|
ret = OB_MAJOR_FREEZE_NOT_ALLOW;
|
||||||
RS_LOG(WARN, "fail to launch_major_freeze, forbidden in restore_major_freeze_service",
|
RS_LOG(WARN, "fail to launch_major_freeze, forbidden in restore_major_freeze_service",
|
||||||
KR(ret), K(req), K(is_primary_service));
|
KR(ret), K(req), K(is_primary_service));
|
||||||
}
|
}
|
||||||
|
res.err_code_ = ret;
|
||||||
|
ret = OB_SUCCESS;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +118,6 @@ int ObTenantAdminMergeP::process()
|
|||||||
|
|
||||||
if (FAILEDx(rootserver::ObMajorFreezeUtil::get_major_freeze_service(primary_major_freeze_service_,
|
if (FAILEDx(rootserver::ObMajorFreezeUtil::get_major_freeze_service(primary_major_freeze_service_,
|
||||||
restore_major_freeze_service_, major_freeze_service, is_primary_service))) {
|
restore_major_freeze_service_, major_freeze_service, is_primary_service))) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
|
||||||
RS_LOG(WARN, "fail to get major freeze service", KR(ret), K(req));
|
RS_LOG(WARN, "fail to get major freeze service", KR(ret), K(req));
|
||||||
} else if (OB_ISNULL(major_freeze_service)) {
|
} else if (OB_ISNULL(major_freeze_service)) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
@ -149,10 +147,11 @@ int ObTenantAdminMergeP::process()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
res.err_code_ = OB_SUCCESS;
|
RS_LOG(INFO, "succ to execute tenant admin merge", K(req), K(is_primary_service));
|
||||||
RS_LOG(INFO, "succ to execute tenant admin merge", K(req), K(res), K(is_primary_service));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
res.err_code_ = ret;
|
||||||
|
ret = OB_SUCCESS;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user