diff --git a/CMakeLists.txt b/CMakeLists.txt index bd51a9cd..ffe4105a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -580,6 +580,7 @@ elseif((WITH_DATA_STORE STREQUAL "ELOQDSS_ROCKSDB_CLOUD_S3") OR store_handler/eloq_data_store_service/rocksdb_config.cpp store_handler/eloq_data_store_service/purger_event_listener.cpp store_handler/eloq_data_store_service/purger_sliding_window.cpp + store_handler/eloq_data_store_service/s3_file_downloader.cpp ) elseif(WITH_DATA_STORE STREQUAL "ELOQDSS_ROCKSDB") SET(RESELOQ_RESOURCES ${RESELOQ_RESOURCES} diff --git a/src/redis_service.cpp b/src/redis_service.cpp index 888127ef..4cbb0f20 100644 --- a/src/redis_service.cpp +++ b/src/redis_service.cpp @@ -365,6 +365,9 @@ DEFINE_string(eloq_dss_peer_node, DEFINE_string(eloq_dss_branch_name, "development", "Branch name of EloqDataStore"); +DEFINE_uint32(dss_file_cache_sync_interval_sec, + 30, + "File cache sync interval in seconds for standby warm-up"); #endif namespace EloqKV @@ -1037,6 +1040,14 @@ bool RedisServiceImpl::Init(brpc::Server &brpc_server) : config_reader.GetString( "store", "eloq_dss_peer_node", FLAGS_eloq_dss_peer_node); + uint32_t dss_file_cache_sync_interval_sec = + !CheckCommandLineFlagIsDefault("dss_file_cache_sync_interval_sec") + ? FLAGS_dss_file_cache_sync_interval_sec + : config_reader.GetInteger( + "store", + "dss_file_cache_sync_interval_sec", + FLAGS_dss_file_cache_sync_interval_sec); + std::string eloq_dss_data_path = eloq_data_path + "/eloq_dss"; if (!std::filesystem::exists(eloq_dss_data_path)) { @@ -1086,6 +1097,9 @@ bool RedisServiceImpl::Init(brpc::Server &brpc_server) ds_config); } + // Set file cache sync interval + ds_config.SetFileCacheSyncIntervalSec(dss_file_cache_sync_interval_sec); + #if defined(DATA_STORE_TYPE_ELOQDSS_ROCKSDB_CLOUD_S3) || \ defined(DATA_STORE_TYPE_ELOQDSS_ROCKSDB_CLOUD_GCS) EloqDS::RocksDBConfig rocksdb_config(config_reader, eloq_dss_data_path); diff --git a/store_handler b/store_handler index 1c00129c..87ee52bf 160000 --- a/store_handler +++ b/store_handler @@ -1 +1 @@ -Subproject commit 1c00129c7cc8e83fb9b2237f4289fd76dd2c2fd5 +Subproject commit 87ee52bf0672fee7c8f4b190c93b99cdfcb1bb37