From 21e110e5e4112bd22eb6b0f23623bb05dfaaa912 Mon Sep 17 00:00:00 2001 From: deardeng <565620795@qq.com> Date: Tue, 31 Oct 2023 11:11:26 +0800 Subject: [PATCH] [improvement](show trash) Fix be restart slow when too many trash files --- be/src/olap/data_dir.cpp | 1 - be/src/olap/olap_server.cpp | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/be/src/olap/data_dir.cpp b/be/src/olap/data_dir.cpp index 3bcdc156298421..680df3a408c70e 100644 --- a/be/src/olap/data_dir.cpp +++ b/be/src/olap/data_dir.cpp @@ -124,7 +124,6 @@ Status DataDir::init() { "check file exist failed"); } - update_trash_capacity(); RETURN_NOT_OK_STATUS_WITH_WARN(update_capacity(), "update_capacity failed"); RETURN_NOT_OK_STATUS_WITH_WARN(_init_cluster_id(), "_init_cluster_id failed"); RETURN_NOT_OK_STATUS_WITH_WARN(_init_capacity_and_create_shards(), diff --git a/be/src/olap/olap_server.cpp b/be/src/olap/olap_server.cpp index f3e412325208fc..28ed6eb2be1d7b 100644 --- a/be/src/olap/olap_server.cpp +++ b/be/src/olap/olap_server.cpp @@ -281,7 +281,7 @@ void StorageEngine::_garbage_sweeper_thread_callback() { double usage = 1.0; // After the program starts, the first round of cleaning starts after min_interval. uint32_t curr_interval = min_interval; - while (!_stop_background_threads_latch.wait_for(std::chrono::seconds(curr_interval))) { + do { // Function properties: // when usage < 0.6, ratio close to 1.(interval close to max_interval) // when usage at [0.6, 0.75], ratio is rapidly decreasing from 0.87 to 0.27. @@ -305,7 +305,7 @@ void StorageEngine::_garbage_sweeper_thread_callback() { << "see previous message for detail. err code=" << res; // do nothing. continue next loop. } - } + } while (!_stop_background_threads_latch.wait_for(std::chrono::seconds(curr_interval))); } void StorageEngine::_disk_stat_monitor_thread_callback() {