stmt rollback empty parts should not set free route parts changed flag

This commit is contained in:
felix-w15
2023-12-28 07:13:13 +00:00
committed by ob-robot
parent 7496d12187
commit 117d360abf
2 changed files with 2 additions and 4 deletions

View File

@ -785,7 +785,7 @@ LST_DO(DEF_FREE_ROUTE_DECODE, (;), static, dynamic, parts, extra);
int64_t estimate_state_size();
bool is_static_changed() { return state_change_flags_.STATIC_CHANGED_; }
bool is_dynamic_changed() { return state_ > State::IDLE && state_change_flags_.DYNAMIC_CHANGED_; }
bool is_parts_changed() { return state_change_flags_.PARTS_CHANGED_; };
bool is_parts_changed() { return state_ > State::IDLE && state_change_flags_.PARTS_CHANGED_; };
bool is_extra_changed() { return state_change_flags_.EXTRA_CHANGED_; };
void set_explicit() { flags_.EXPLICIT_ = true; }
void clear_interrupt() { flags_.INTERRUPTED_ = false; }

View File

@ -1389,7 +1389,6 @@ int ObTransService::rollback_to_explicit_savepoint(ObTxDesc &tx,
}
}
}
tx.state_change_flags_.EXTRA_CHANGED_ = true;
int64_t elapsed_us = ObTimeUtility::current_time() - start_ts;
ObTransTraceLog &tlog = tx.get_tlog();
REC_TRANS_TRACE_EXT(&tlog, rollback_explicit_savepoint, OB_Y(ret),
@ -1434,7 +1433,6 @@ int ObTransService::release_explicit_savepoint(ObTxDesc &tx, const ObString &sav
TRANS_LOG(TRACE, "release savepoint", K(savepoint), K(sp_id), K(session_id), K(tx));
}
}
tx.state_change_flags_.EXTRA_CHANGED_ = true;
ObTransTraceLog &tlog = tx.get_tlog();
REC_TRANS_TRACE_EXT(&tlog, release_explicit_savepoint, OB_Y(ret),
OB_ID(savepoint), savepoint,
@ -1533,7 +1531,7 @@ int ObTransService::rollback_savepoint_(ObTxDesc &tx,
if (OB_TIMEOUT == ret && ObTimeUtility::current_time() >= tx.get_expire_ts()) {
ret = OB_TRANS_TIMEOUT;
}
if (OB_SUCC(ret)) {
if (OB_SUCC(ret) && parts.count() > 0) {
tx.post_rb_savepoint_(parts, savepoint);
}
return ret;