diff --git a/src/lib/logstore/log_dev.cpp b/src/lib/logstore/log_dev.cpp index 8f467faa0..52348dcfe 100644 --- a/src/lib/logstore/log_dev.cpp +++ b/src/lib/logstore/log_dev.cpp @@ -115,7 +115,6 @@ LogDev::~LogDev() { m_id_logstore_map.clear(); } - m_log_records = nullptr; m_logdev_meta.reset(); m_log_idx.store(0); m_pending_flush_size.store(0); @@ -157,6 +156,8 @@ void LogDev::stop() { if (!get_pending_request_num()) break; std::this_thread::sleep_for(std::chrono::milliseconds(1000)); } + + m_log_records.reset(); } void LogDev::destroy() { diff --git a/src/lib/logstore/log_store_service.cpp b/src/lib/logstore/log_store_service.cpp index 139645366..86f404e8c 100644 --- a/src/lib/logstore/log_store_service.cpp +++ b/src/lib/logstore/log_store_service.cpp @@ -132,10 +132,8 @@ void LogStoreService::stop() { } LogStoreService::~LogStoreService() { - { - folly::SharedMutexWritePriority::WriteHolder holder(m_logdev_map_mtx); - m_id_logdev_map.clear(); - } + folly::SharedMutexWritePriority::WriteHolder holder(m_logdev_map_mtx); + m_id_logdev_map.clear(); } logdev_id_t LogStoreService::get_next_logdev_id() {