Skip to content

Commit

Permalink
[CP]fix standby tenant max_ls_id not match during upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
maosy authored and ob-robot committed Sep 13, 2023
1 parent 49dd427 commit 600ea45
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions src/share/ob_upgrade_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -991,19 +991,23 @@ int ObUpgradeFor4200Processor::post_upgrade_for_max_ls_id_()
if (OB_ISNULL(sql_proxy_) || !is_valid_tenant_id(tenant_id_)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("error unexpected", KR(ret), KP(sql_proxy_), K(tenant_id_));
} else if (!is_user_tenant(tenant_id_)) {
LOG_INFO("meta and sys tenant no need to update max ls id", K(tenant_id_));
} else if (!is_meta_tenant(tenant_id_)) {
LOG_INFO("user and sys tenant no need to update max ls id", K(tenant_id_));
} else {
common::ObMySQLTransaction trans;
share::ObLSStatusOperator ls_op;
ObLSID max_ls_id;
const uint64_t exec_tenant_id = ObLSLifeIAgent::get_exec_tenant_id(tenant_id_);
if (OB_FAIL(trans.start(sql_proxy_, exec_tenant_id))) {
LOG_WARN("failed to start trans", KR(ret), K(exec_tenant_id), K(tenant_id_));
} else if (OB_FAIL(ls_op.get_tenant_max_ls_id(tenant_id_, max_ls_id, trans))) {
LOG_WARN("failed to get tenant max ls id", KR(ret), K(tenant_id_));
} else if (OB_FAIL(ObAllTenantInfoProxy::update_tenant_max_ls_id(tenant_id_, max_ls_id, trans, true))) {
LOG_WARN("failed to update tenant max ls id", KR(ret), K(tenant_id_), K(max_ls_id));
ObAllTenantInfo tenant_info;
const uint64_t user_tenant_id = gen_user_tenant_id(tenant_id_);
if (OB_FAIL(trans.start(sql_proxy_, tenant_id_))) {
LOG_WARN("failed to start trans", KR(ret), K(user_tenant_id), K(tenant_id_));
} else if (OB_FAIL(ObAllTenantInfoProxy::load_tenant_info(
user_tenant_id, &trans, true, tenant_info))) {
LOG_WARN("failed to load tenant info", KR(ret), K(user_tenant_id));
} else if (OB_FAIL(ls_op.get_tenant_max_ls_id(user_tenant_id, max_ls_id, trans))) {
LOG_WARN("failed to get tenant max ls id", KR(ret), K(tenant_id_), K(user_tenant_id));
} else if (OB_FAIL(ObAllTenantInfoProxy::update_tenant_max_ls_id(user_tenant_id, max_ls_id, trans, true))) {
LOG_WARN("failed to update tenant max ls id", KR(ret), K(tenant_id_), K(max_ls_id), K(user_tenant_id));
}
if (trans.is_started()) {
int tmp_ret = OB_SUCCESS;
Expand All @@ -1012,7 +1016,7 @@ int ObUpgradeFor4200Processor::post_upgrade_for_max_ls_id_()
ret = OB_SUCC(ret) ? tmp_ret : ret;
}
}
LOG_INFO("update tenant max ls id", KR(ret), K(tenant_id_), K(max_ls_id));
LOG_INFO("update tenant max ls id", KR(ret), K(tenant_id_), K(max_ls_id), K(user_tenant_id));
}
return ret;
}
Expand Down

0 comments on commit 600ea45

Please sign in to comment.