From 7b958a4535a7620bbb9e7706adb9f948a4549b7e Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 13 Apr 2023 06:32:07 +0000 Subject: [PATCH] Add some log for 4377 --- src/storage/access/ob_multiple_merge.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/storage/access/ob_multiple_merge.cpp b/src/storage/access/ob_multiple_merge.cpp index ceff87dda..47adc2c63 100644 --- a/src/storage/access/ob_multiple_merge.cpp +++ b/src/storage/access/ob_multiple_merge.cpp @@ -1149,6 +1149,7 @@ int ObMultipleMerge::prepare_tables_from_iterator(ObTableStoreIterator &table_it table_iter.resume(); int64_t memtable_cnt = 0; read_memtable_only_ = false; + bool read_released_memtable = false; while (OB_SUCC(ret)) { ObITable *table_ptr = nullptr; bool need_table = true; @@ -1174,6 +1175,8 @@ int ObMultipleMerge::prepare_tables_from_iterator(ObTableStoreIterator &table_it LOG_DEBUG("cur table is empty", K(ret), KPC(table_ptr)); continue; } else if (table_ptr->is_memtable()) { + read_released_memtable = read_released_memtable || + memtable::ObMemtableFreezeState::RELEASED == (static_cast(table_ptr))->get_freeze_state(); ++memtable_cnt; } if (OB_FAIL(tables_.push_back(table_ptr))) { @@ -1193,6 +1196,13 @@ int ObMultipleMerge::prepare_tables_from_iterator(ObTableStoreIterator &table_it if (OB_SUCC(ret) && memtable_cnt == tables_.count()) { read_memtable_only_ = true; } + #ifdef ENABLE_DEBUG_LOG + if (GCONF.enable_defensive_check() && read_released_memtable) { + for (int64_t i = 0; i < tables_.count(); ++i) { + LOG_INFO("dump read tables", KPC(tables_.at(i))); + } + } + #endif return ret; }