fix mysql test case && ObTenantTableStatMgr::destroy

This commit is contained in:
obdev
2022-12-22 13:41:33 +00:00
committed by ob-robot
parent 2ce91b5905
commit a624b4c305
3 changed files with 12 additions and 5 deletions

View File

@ -745,21 +745,28 @@ int ObMediumCompactionScheduleFunc::freeze_memtable_to_get_medium_info()
} else { } else {
memtable::ObMemtable *memtable = nullptr; memtable::ObMemtable *memtable = nullptr;
bool receive_medium_info = false; bool receive_medium_info = false;
bool has_medium_info = false;
for (int i = 0; OB_SUCC(ret) && i < memtables.count(); ++i) { for (int i = 0; OB_SUCC(ret) && i < memtables.count(); ++i) {
if (OB_ISNULL(memtable = static_cast<memtable::ObMemtable*>(memtables.at(i)))) { if (OB_ISNULL(memtable = static_cast<memtable::ObMemtable*>(memtables.at(i)))) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("memtable is null", K(ret), K(i), KPC(memtables.at(i)), K(memtable)); LOG_WARN("memtable is null", K(ret), K(i), KPC(memtables.at(i)), K(memtable));
} else if (memtable->has_multi_source_data_unit(memtable::MultiSourceDataUnitType::MEDIUM_COMPACTION_INFO)) { } else if (memtable->has_multi_source_data_unit(memtable::MultiSourceDataUnitType::MEDIUM_COMPACTION_INFO)) {
has_medium_info = true;
if (memtable->is_active_memtable()) {
receive_medium_info = true; receive_medium_info = true;
break; break;
} }
}
} // end of for } // end of for
if (OB_SUCC(ret) && receive_medium_info) { if (OB_FAIL(ret)) {
} else if (receive_medium_info) {
if (OB_FAIL(MTL(ObTenantFreezer *)->tablet_freeze(tablet_.get_tablet_meta().tablet_id_, false/*force_freeze*/))) { if (OB_FAIL(MTL(ObTenantFreezer *)->tablet_freeze(tablet_.get_tablet_meta().tablet_id_, false/*force_freeze*/))) {
if (OB_TABLE_NOT_EXIST != ret) { if (OB_TABLE_NOT_EXIST != ret) {
LOG_WARN("failed to freeze tablet", K(ret), KPC(this)); LOG_WARN("failed to freeze tablet", K(ret), KPC(this));
} }
} }
} else if (has_medium_info) {
LOG_INFO("received medium info, the memtable is frozen, no need to freeze tablet again", K(ret), K(tablet_));
} }
} }
return ret; return ret;

View File

@ -1023,7 +1023,7 @@ int ObTenantTabletScheduler::schedule_all_tablets_medium()
tenant_merge_finish = false; tenant_merge_finish = false;
if (OB_SIZE_OVERFLOW == tmp_ret) { if (OB_SIZE_OVERFLOW == tmp_ret) {
break; break;
} else if (OB_LS_NOT_EXIST != ret) { } else if (OB_LS_NOT_EXIST != tmp_ret) {
LOG_WARN("failed to schedule ls merge", K(tmp_ret), KPC(ls)); LOG_WARN("failed to schedule ls merge", K(tmp_ret), KPC(ls));
} }
} else { } else {

View File

@ -465,8 +465,8 @@ void ObTenantTabletStatMgr::destroy()
{ {
ObBucketWLockAllGuard lock_guard(bucket_lock_); ObBucketWLockAllGuard lock_guard(bucket_lock_);
stream_map_.destroy(); stream_map_.destroy();
stream_pool_.destroy();
lru_list_.reset(); lru_list_.reset();
stream_pool_.destroy();
report_cursor_ = 0; report_cursor_ = 0;
pending_cursor_ = 0; pending_cursor_ = 0;
report_tg_id_ = 0; report_tg_id_ = 0;