diff --git a/src/sst-convert/src/converter.rs b/src/sst-convert/src/converter.rs index faa68aec91..cebc011c49 100644 --- a/src/sst-convert/src/converter.rs +++ b/src/sst-convert/src/converter.rs @@ -35,6 +35,7 @@ use crate::table::TableMetadataHelper; use crate::writer::RegionWriterBuilder; /// Input file type. +#[derive(Clone, PartialEq, Eq)] pub enum InputFileType { /// File type is Parquet. Parquet, diff --git a/src/sst-convert/src/reader.rs b/src/sst-convert/src/reader.rs index 0279d23664..bae04bab75 100644 --- a/src/sst-convert/src/reader.rs +++ b/src/sst-convert/src/reader.rs @@ -22,6 +22,7 @@ use mito2::read::BoxedBatchReader; use mito2::region::opener::RegionMetadataLoader; use mito2::region::options::RegionOptions; use object_store::manager::ObjectStoreManagerRef; +use object_store::util::join_dir; use object_store::ObjectStore; use snafu::{OptionExt, ResultExt}; use store_api::metadata::RegionMetadataRef; @@ -139,7 +140,11 @@ impl InputReaderBuilder { let opts = table_info.table_info.to_region_options(); // TODO(yingwen): We ignore WAL options now. We should `prepare_wal_options()` in the future. let region_options = RegionOptions::try_from(&opts).context(MitoSnafu)?; - let region_dir = region_dir(&table_info.region_storage_path(), region_id); + let mut region_dir = region_dir(&table_info.region_storage_path(), region_id); + if input.file_type == InputFileType::RemoteWrite { + // metric engine has two internal regions. + region_dir = join_dir(®ion_dir, "data"); + } let manifest = self .region_loader .load_manifest(®ion_dir, ®ion_options)