From 4a5c82efb09af270fdf420ddf0c44666902b8812 Mon Sep 17 00:00:00 2001 From: githubzilla Date: Tue, 23 Sep 2025 13:51:15 +0800 Subject: [PATCH] Disable auto compaction at the 1st place to make sure purger blocking succeed --- eloq_data_store_service/purger_sliding_window.cpp | 3 ++- eloq_data_store_service/rocksdb_cloud_data_store.cpp | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/eloq_data_store_service/purger_sliding_window.cpp b/eloq_data_store_service/purger_sliding_window.cpp index 6396b39..9734cb7 100644 --- a/eloq_data_store_service/purger_sliding_window.cpp +++ b/eloq_data_store_service/purger_sliding_window.cpp @@ -128,7 +128,8 @@ void S3FileNumberUpdater::UpdateSmallestFileNumber(uint64_t file_number, void S3FileNumberUpdater::BlockPurger(const std::string &epoch) { - DLOG(INFO) << "Wrote 0 as file number to S3 to block purger"; + DLOG(INFO) << "Wrote 0 as file number to S3 to block purger, epoch: " + << epoch; UpdateSmallestFileNumber(std::numeric_limits::min(), epoch); // Don't update last_published_smallest_ in sliding window, // so that future smaller file number can still be updated diff --git a/eloq_data_store_service/rocksdb_cloud_data_store.cpp b/eloq_data_store_service/rocksdb_cloud_data_store.cpp index 28e55e0..3759272 100644 --- a/eloq_data_store_service/rocksdb_cloud_data_store.cpp +++ b/eloq_data_store_service/rocksdb_cloud_data_store.cpp @@ -607,6 +607,9 @@ bool RocksDBCloudDataStore::OpenCloudDB( options.compaction_filter = static_cast(ttl_compaction_filter_.get()); + // Disable auto compactions before blocking purger + options.disable_auto_compactions = true; + auto start = std::chrono::system_clock::now(); std::unique_lock db_lk(db_mux_); rocksdb::Status status; @@ -684,6 +687,9 @@ bool RocksDBCloudDataStore::OpenCloudDB( // Resume background work db_->ContinueBackgroundWork(); + // Enable auto compactions after blocking purger + status = db_->SetOptions({{"disable_auto_compactions", "false"}}); + if (cloud_config_.warm_up_thread_num_ != 0) { db_->WarmUp(cloud_config_.warm_up_thread_num_);