diff --git a/eloq_data_store_service/build_eloq_store.cmake b/eloq_data_store_service/build_eloq_store.cmake index 53e3272..11616e5 100644 --- a/eloq_data_store_service/build_eloq_store.cmake +++ b/eloq_data_store_service/build_eloq_store.cmake @@ -81,6 +81,7 @@ set(ELOQ_STORE_SOURCES ${ELOQ_STORE_SOURCE_DIR}/write_task.cpp ${ELOQ_STORE_SOURCE_DIR}/read_task.cpp ${ELOQ_STORE_SOURCE_DIR}/scan_task.cpp + ${ELOQ_STORE_SOURCE_DIR}/prewarm_task.cpp ${ELOQ_STORE_SOURCE_DIR}/batch_write_task.cpp ${ELOQ_STORE_SOURCE_DIR}/background_write.cpp ${ELOQ_STORE_SOURCE_DIR}/async_io_manager.cpp diff --git a/eloq_data_store_service/eloq_store_config.cpp b/eloq_data_store_service/eloq_store_config.cpp index 48f77bc..fbd74e8 100644 --- a/eloq_data_store_service/eloq_store_config.cpp +++ b/eloq_data_store_service/eloq_store_config.cpp @@ -90,6 +90,9 @@ DEFINE_string(eloq_store_local_space_limit, DEFINE_uint32(eloq_store_reserve_space_ratio, 100, "EloqStore reserve space ratio."); +DEFINE_bool(eloq_store_prewarm_cloud_cache, + false, + "EloqStore prewarm cloud cache during startup."); DEFINE_uint32(eloq_store_data_page_size, 1 << 12, "EloqStore data page size."); DEFINE_uint32(eloq_store_pages_per_file_shift, 11, @@ -370,6 +373,12 @@ EloqStoreConfig::EloqStoreConfig(const INIReader &config_reader, : config_reader.GetInteger("store", "eloq_store_reserve_space_ratio", FLAGS_eloq_store_reserve_space_ratio); + eloqstore_configs_.prewarm_cloud_cache = + !CheckCommandLineFlagIsDefault("eloq_store_prewarm_cloud_cache") + ? FLAGS_eloq_store_prewarm_cloud_cache + : config_reader.GetBoolean("store", + "eloq_store_prewarm_cloud_cache", + FLAGS_eloq_store_prewarm_cloud_cache); eloqstore_configs_.data_page_size = !CheckCommandLineFlagIsDefault("eloq_store_data_page_size") ? FLAGS_eloq_store_data_page_size