restore tx ls state after switch_to_follower_gracefully failed

This commit is contained in:
KyrielightWei 2024-08-14 02:47:11 +00:00 committed by ob-robot
parent 9c97e86f09
commit 91021d2706

View File

@ -889,9 +889,11 @@ int ObLSTxCtxMgr::switch_to_follower_gracefully()
TRANS_LOG(WARN, "switch state error", KR(ret), K(ls_id_), K(tx_ls_state_mgr_));
} else if (OB_TMP_FAIL(submit_start_working_log_())) {
TRANS_LOG(WARN, "submit start working log failed", KR(tmp_ret), K(*this));
tx_ls_state_mgr_.restore_tx_ls_state();
}
if (OB_SUCCESS != tmp_ret) {
//Use a processing method that is compatible with the old code,
//treating the situation as the on_failure of a start working log.
tx_ls_state_mgr_.switch_tx_ls_state(ObTxLSStateMgr::TxLSAction::SWL_CB_FAIL);
ret = OB_LS_NEED_REVOKE;
}
TRANS_LOG(WARN, "switch to follower failed", KR(ret), KR(tmp_ret), K(*this));