[CP] fix bug, make ddl retry when get -4725 in wait_trans_end()

This commit is contained in:
AnimationFan 2025-01-01 08:15:47 +00:00 committed by ob-robot
parent c739003169
commit adbbffe5e5

View File

@ -1269,10 +1269,16 @@ int ObService::check_schema_version_elapsed(
const ObTabletID &tablet_id = arg.tablets_.at(i).tablet_id_;
ObCheckTransElapsedResult single_result;
int tmp_ret = OB_SUCCESS;
bool is_leader_serving = false;
if (OB_TMP_FAIL(DDL_SIM(arg.tenant_id_, arg.ddl_task_id_, CHECK_SCHEMA_TRANS_END_SLOW))) {
LOG_WARN("ddl sim failure: check schema version elapsed slow", K(tmp_ret), K(arg));
} else if (OB_TMP_FAIL(ls_service->get_ls(ls_id, ls_handle, ObLSGetMod::OBSERVER_MOD))) {
LOG_WARN("get ls failed", K(tmp_ret), K(i), K(ls_id));
} else if (OB_TMP_FAIL(ls_handle.get_ls()->get_tx_svr()->check_in_leader_serving_state(is_leader_serving))) {
LOG_WARN("fail to check ls in leader serving state", K(tmp_ret), K(ls_id));
} else if (!is_leader_serving) {
tmp_ret = OB_NOT_MASTER; // check is leader ready
LOG_WARN("ls leader is not ready, should not provide service", K(ret));
} else if (OB_TMP_FAIL(ls_handle.get_ls()->get_tablet(tablet_id,
tablet_handle,
ObTabletCommon::DEFAULT_GET_TABLET_DURATION_US,