[scn] fix failure of mittest after refresh feature scn

This commit is contained in:
obdev
2022-11-28 01:46:42 +00:00
committed by ob-robot
parent 49a02f3304
commit 54b64a7263
1898 changed files with 255804 additions and 280809 deletions

View File

@ -145,7 +145,7 @@ int ObTableScanIterator::prepare_table_context()
ObVersionRange trans_version_range;
trans_version_range.multi_version_start_ = 0;
trans_version_range.base_version_ = 0;
trans_version_range.snapshot_version_ = ctx_guard_.get_store_ctx().mvcc_acc_ctx_.get_snapshot_version();
trans_version_range.snapshot_version_ = ctx_guard_.get_store_ctx().mvcc_acc_ctx_.get_snapshot_version().get_val_for_lsn_allocator();
if (OB_UNLIKELY(!trans_version_range.is_valid())) {
ret = OB_ERR_UNEXPECTED;
STORAGE_LOG(WARN, "trans version range is not valid", K(ret), K(trans_version_range));
@ -377,7 +377,7 @@ int ObTableScanIterator::open_iter()
if (nullptr == scan_merge_ && OB_FAIL(init_scan_iter(scan_merge_))) {
STORAGE_LOG(WARN, "Failed to init scanmerge", K(ret));
} else if (OB_FAIL(get_table_param_.tablet_iter_.tablet_handle_.get_obj()->get_read_tables(
main_table_ctx_.store_ctx_->mvcc_acc_ctx_.get_snapshot_version(),
main_table_ctx_.store_ctx_->mvcc_acc_ctx_.get_snapshot_version().get_val_for_lsn_allocator(),
get_table_param_.tablet_iter_,
false /*allow_not_ready*/ ))) {
STORAGE_LOG(WARN, "Fail to read tables", K(ret));
@ -559,10 +559,8 @@ int ObTableScanIterator::check_txn_status_if_read_uncommitted_()
auto &acc_ctx = ctx_guard_.get_store_ctx().mvcc_acc_ctx_;
auto &snapshot = acc_ctx.snapshot_;
if (snapshot.tx_id_.is_valid() && acc_ctx.mem_ctx_) {
if (acc_ctx.mem_ctx_->is_tx_rollbacked()) {
// The txn has been killed during normal processing. So we return
// OB_TRANS_KILLED to prompt this abnormal state.
ret = OB_TRANS_KILLED;
if (acc_ctx.mem_ctx_->is_trans_rollbacked()) {
ret = acc_ctx.mem_ctx_->get_trans_status_retcode();
STORAGE_LOG(WARN, "txn termianted when table scan", K(ret), K(acc_ctx));
}
}