From 7183a93e5a8064b7932a4e6e699b7b35b88c48c7 Mon Sep 17 00:00:00 2001 From: evenyag Date: Sun, 9 Mar 2025 21:05:21 +0800 Subject: [PATCH] feat: sanitize mito config --- src/mito2/src/config.rs | 1 + src/sst-convert/src/converter.rs | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/mito2/src/config.rs b/src/mito2/src/config.rs index b1cfa8efab..abdfec912e 100644 --- a/src/mito2/src/config.rs +++ b/src/mito2/src/config.rs @@ -46,6 +46,7 @@ const INDEX_CREATE_MEM_THRESHOLD_FACTOR: u64 = 16; pub(crate) const FETCH_OPTION_TIMEOUT: Duration = Duration::from_secs(3); /// Configuration for [MitoEngine](crate::engine::MitoEngine). +/// Before using the config, make sure to call `MitoConfig::validate()` to check if the config is valid. #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)] #[serde(default)] pub struct MitoConfig { diff --git a/src/sst-convert/src/converter.rs b/src/sst-convert/src/converter.rs index 25a63fa71c..4f71fe6df4 100644 --- a/src/sst-convert/src/converter.rs +++ b/src/sst-convert/src/converter.rs @@ -163,11 +163,16 @@ impl SstConverterBuilder { } /// Builds a SST converter. - pub async fn build(self) -> Result { + pub async fn build(mut self) -> Result { + self.config + .sanitize(&self.storage_config.data_home) + .context(MitoSnafu)?; + common_telemetry::info!( - "Building SST converter, input_path: {}, storage_config: {:?}", + "Building SST converter, input_path: {}, storage_config: {:?}, config: {:?}", self.input_path, - self.storage_config + self.storage_config, + self.config ); let input_store = new_input_store(&self.input_path).await?;