fix mysql test case && ObTenantTableStatMgr::destroy
This commit is contained in:
		| @ -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; | ||||||
|  | |||||||
| @ -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 { | ||||||
|  | |||||||
| @ -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; | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 obdev
					obdev