priority return ob_trans_timeout to ob_trans_killed after tx timeout and abort itself during stmt execute

This commit is contained in:
obdev 2024-02-07 21:07:13 +00:00 committed by ob-robot
parent 634f8e7b0f
commit 8f9deca4f3

View File

@ -7450,8 +7450,13 @@ int ObPartTransCtx::check_status_()
}
TRANS_LOG(WARN, "tx has decided", K(ret), KPC(this));
} else if (OB_UNLIKELY(sub_state_.is_force_abort())) {
ret = OB_TRANS_KILLED;
TRANS_LOG(WARN, "tx force aborted due to data incomplete", K(ret), KPC(this));
if (is_trans_expired_()) {
ret = OB_TRANS_TIMEOUT;
TRANS_LOG(WARN, "tx has decided", K(ret), KPC(this));
} else {
ret = OB_TRANS_KILLED;
TRANS_LOG(WARN, "tx force aborted due to data incomplete", K(ret), KPC(this));
}
} else if (OB_UNLIKELY(is_follower_())) {
ret = OB_NOT_MASTER;
} else if (OB_UNLIKELY(is_exiting_)) {