trans table no need get multi trans version start

This commit is contained in:
yy0
2021-08-13 14:48:35 +08:00
committed by wangzelin.wzl
parent 0cd34bf020
commit a8f3622796

View File

@ -3189,16 +3189,20 @@ int ObPartitionStore::get_kept_multi_version_start(
if (OB_UNLIKELY(!is_inited_)) { if (OB_UNLIKELY(!is_inited_)) {
ret = OB_NOT_INIT; ret = OB_NOT_INIT;
STORAGE_LOG(WARN, "not inited", K(ret)); STORAGE_LOG(WARN, "not inited", K(ret));
} else if (OB_FAIL(get_last_major_sstable(pkey_.get_table_id(), handle))) { } else if (pkey_.is_trans_table()) {
if (OB_ENTRY_NOT_EXIST != ret) { // trans table no need deal with multi version start or
LOG_WARN("failed to get last major sstable", K(ret), K_(pkey)); // backup snapshot version
} else { multi_version_start = 1;
ret = OB_SUCCESS; } else {
if (OB_FAIL(get_last_major_sstable(pkey_.get_table_id(), handle))) {
if (OB_ENTRY_NOT_EXIST != ret) {
LOG_WARN("failed to get last major sstable", K(ret), K_(pkey));
} else {
ret = OB_SUCCESS;
}
} }
}
if (OB_SUCC(ret)) { if (OB_SUCC(ret)) {
{
TCRLockGuard lock_guard(lock_); TCRLockGuard lock_guard(lock_);
if (OB_FAIL(get_min_merged_version_(min_merged_version))) { if (OB_FAIL(get_min_merged_version_(min_merged_version))) {
LOG_WARN("failed to get_min_merged_version_", K(ret)); LOG_WARN("failed to get_min_merged_version_", K(ret));
@ -3213,17 +3217,16 @@ int ObPartitionStore::get_kept_multi_version_start(
LOG_WARN("failed to get_kept_multi_version_start", K(ret), K(pkey_)); LOG_WARN("failed to get_kept_multi_version_start", K(ret), K(pkey_));
} }
} }
}
multi_version_start = min_reserved_snapshot; multi_version_start = min_reserved_snapshot;
if (OB_SUCC(ret) && is_in_dest_split) { if (OB_SUCC(ret) && is_in_dest_split) {
if (REACH_TIME_INTERVAL(60 * 1000 * 1000)) { if (REACH_TIME_INTERVAL(60 * 1000 * 1000)) {
LOG_INFO("partition in logical splitting cannot keep multi version start", K_(pkey)); LOG_INFO("partition in logical splitting cannot keep multi version start", K_(pkey));
}
multi_version_start = std::max(ObTimeUtility::current_time(), multi_version_start);
} }
multi_version_start = std::max(ObTimeUtility::current_time(), multi_version_start);
} }
multi_version_start = std::max(multi_version_start, meta_->multi_version_start_); multi_version_start = std::max(multi_version_start, meta_->multi_version_start_);
return ret; return ret;
} }