diff --git a/be/test/olap/rowset/segment_v2/segment_corruption_test.cpp b/be/test/olap/rowset/segment_v2/segment_corruption_test.cpp index 3fb1549176b987..c663429e16097e 100644 --- a/be/test/olap/rowset/segment_v2/segment_corruption_test.cpp +++ b/be/test/olap/rowset/segment_v2/segment_corruption_test.cpp @@ -83,8 +83,12 @@ class SegmentCorruptionTest : public testing::Test { // background threads from accessing SyncPoint during/after destruction SyncPoint::get_instance()->disable_processing(); - if (ExecEnv::GetInstance()->file_cache_factory() != nullptr) { - io::FileCacheFactory::instance()->clear_file_caches(true); + auto* factory = io::FileCacheFactory::instance(); + if (factory != nullptr) { + factory->clear_file_caches(true); + + factory->_caches.clear(); + factory->_path_to_cache.clear(); } // Give background threads time to stop after cache destruction @@ -132,8 +136,12 @@ class SegmentCorruptionTest : public testing::Test { // background threads from accessing SyncPoint during/after destruction SyncPoint::get_instance()->disable_processing(); - if (ExecEnv::GetInstance()->file_cache_factory() != nullptr) { - io::FileCacheFactory::instance()->clear_file_caches(true); + auto* factory = io::FileCacheFactory::instance(); + if (factory != nullptr) { + factory->clear_file_caches(true); + + factory->_caches.clear(); + factory->_path_to_cache.clear(); } // Give background threads time to stop after cache destruction