From 30c29539a3e447c65cbdc088f4d7ad30d1a55de3 Mon Sep 17 00:00:00 2001 From: evenyag Date: Mon, 10 Mar 2025 13:58:46 +0800 Subject: [PATCH] feat: special handle metric engine path --- src/sst-convert/src/converter.rs | 1 + src/sst-convert/src/reader.rs | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) 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)