diff --git a/src/mito2/src/read/scan_region.rs b/src/mito2/src/read/scan_region.rs index 314d553946..ae2930e9e4 100644 --- a/src/mito2/src/read/scan_region.rs +++ b/src/mito2/src/read/scan_region.rs @@ -524,6 +524,7 @@ impl ScanRegion { InvertedIndexApplierBuilder::new( self.access_layer.table_dir().to_string(), + self.access_layer.path_type(), self.access_layer.object_store().clone(), self.version.metadata.as_ref(), self.version.metadata.inverted_indexed_column_ids( @@ -536,7 +537,6 @@ impl ScanRegion { ), self.access_layer.puffin_manager_factory().clone(), ) - .with_path_type(self.access_layer.path_type()) .with_file_cache(file_cache) .with_inverted_index_cache(inverted_index_cache) .with_puffin_metadata_cache(puffin_metadata_cache) @@ -559,11 +559,11 @@ impl ScanRegion { BloomFilterIndexApplierBuilder::new( self.access_layer.table_dir().to_string(), + self.access_layer.path_type(), self.access_layer.object_store().clone(), self.version.metadata.as_ref(), self.access_layer.puffin_manager_factory().clone(), ) - .with_path_type(self.access_layer.path_type()) .with_file_cache(file_cache) .with_bloom_filter_index_cache(bloom_filter_index_cache) .with_puffin_metadata_cache(puffin_metadata_cache) @@ -585,11 +585,11 @@ impl ScanRegion { let bloom_filter_index_cache = self.cache_strategy.bloom_filter_index_cache().cloned(); FulltextIndexApplierBuilder::new( self.access_layer.table_dir().to_string(), + self.access_layer.path_type(), self.access_layer.object_store().clone(), self.access_layer.puffin_manager_factory().clone(), self.version.metadata.as_ref(), ) - .with_path_type(self.access_layer.path_type()) .with_file_cache(file_cache) .with_puffin_metadata_cache(puffin_metadata_cache) .with_bloom_filter_cache(bloom_filter_index_cache) diff --git a/src/mito2/src/region/opener.rs b/src/mito2/src/region/opener.rs index 6789392223..1f9f8dd0f2 100644 --- a/src/mito2/src/region/opener.rs +++ b/src/mito2/src/region/opener.rs @@ -93,6 +93,7 @@ impl RegionOpener { pub(crate) fn new( region_id: RegionId, table_dir: &str, + path_type: PathType, memtable_builder_provider: MemtableBuilderProvider, object_store_manager: ObjectStoreManagerRef, purge_scheduler: SchedulerRef, @@ -106,7 +107,7 @@ impl RegionOpener { memtable_builder_provider, object_store_manager, table_dir: normalize_dir(table_dir), - path_type: PathType::Bare, // Default to Bare + path_type, purge_scheduler, options: None, cache_manager: None, @@ -125,12 +126,6 @@ impl RegionOpener { self } - /// Sets the path type for the region. - pub(crate) fn path_type(mut self, path_type: PathType) -> Self { - self.path_type = path_type; - self - } - /// Computes the region directory from table_dir and region_id. fn region_dir(&self) -> String { region_dir_from_table_dir(&self.table_dir, self.region_id, self.path_type) diff --git a/src/mito2/src/sst/index/bloom_filter/applier.rs b/src/mito2/src/sst/index/bloom_filter/applier.rs index 1d9655082c..3b6550ee89 100644 --- a/src/mito2/src/sst/index/bloom_filter/applier.rs +++ b/src/mito2/src/sst/index/bloom_filter/applier.rs @@ -50,8 +50,8 @@ pub(crate) type BloomFilterIndexApplierRef = Arc; /// `BloomFilterIndexApplier` applies bloom filter predicates to the SST file. pub struct BloomFilterIndexApplier { - /// Directory of the region. - region_dir: String, + /// Directory of the table. + table_dir: String, /// Path type for generating file paths. path_type: PathType, @@ -84,7 +84,7 @@ impl BloomFilterIndexApplier { /// /// For each column, the value will be retained only if it contains __all__ predicates. pub fn new( - region_dir: String, + table_dir: String, path_type: PathType, object_store: ObjectStore, puffin_manager_factory: PuffinManagerFactory, @@ -92,7 +92,7 @@ impl BloomFilterIndexApplier { ) -> Self { let predicates = Arc::new(predicates); Self { - region_dir, + table_dir, path_type, object_store, file_cache: None, @@ -293,7 +293,7 @@ impl BloomFilterIndexApplier { .puffin_manager_factory .build( self.object_store.clone(), - RegionFilePathFactory::new(self.region_dir.clone(), self.path_type), + RegionFilePathFactory::new(self.table_dir.clone(), self.path_type), ) .with_puffin_metadata_cache(self.puffin_metadata_cache.clone()); @@ -363,7 +363,7 @@ mod tests { #[allow(clippy::type_complexity)] fn tester( - region_dir: String, + table_dir: String, object_store: ObjectStore, metadata: &RegionMetadata, puffin_manager_factory: PuffinManagerFactory, @@ -371,15 +371,16 @@ mod tests { ) -> impl Fn(&[Expr], Vec<(usize, bool)>) -> BoxFuture<'static, Vec<(usize, Vec>)>> + use<'_> { move |exprs, row_groups| { - let region_dir = region_dir.clone(); - let object_store = object_store.clone(); + let table_dir = table_dir.clone(); + let object_store: ObjectStore = object_store.clone(); let metadata = metadata.clone(); let puffin_manager_factory = puffin_manager_factory.clone(); let exprs = exprs.to_vec(); Box::pin(async move { let builder = BloomFilterIndexApplierBuilder::new( - region_dir, + table_dir, + PathType::Bare, object_store, &metadata, puffin_manager_factory, @@ -423,7 +424,7 @@ mod tests { let intm_mgr = new_intm_mgr(d.path().to_string_lossy()).await; let memory_usage_threshold = Some(1024); let file_id = RegionFileId::new(region_metadata.region_id, FileId::random()); - let region_dir = "region_dir".to_string(); + let table_dir = "table_dir".to_string(); let mut indexer = BloomFilterIndexer::new( file_id.file_id(), @@ -442,7 +443,7 @@ mod tests { let puffin_manager = factory.build( object_store.clone(), - RegionFilePathFactory::new(region_dir.clone(), PathType::Bare), + RegionFilePathFactory::new(table_dir.clone(), PathType::Bare), ); let mut puffin_writer = puffin_manager.writer(&file_id).await.unwrap(); @@ -450,7 +451,7 @@ mod tests { puffin_writer.finish().await.unwrap(); let tester = tester( - region_dir.clone(), + table_dir.clone(), object_store.clone(), ®ion_metadata, factory.clone(), diff --git a/src/mito2/src/sst/index/bloom_filter/applier/builder.rs b/src/mito2/src/sst/index/bloom_filter/applier/builder.rs index 5f1b330cb9..b4dc9b04a1 100644 --- a/src/mito2/src/sst/index/bloom_filter/applier/builder.rs +++ b/src/mito2/src/sst/index/bloom_filter/applier/builder.rs @@ -38,7 +38,7 @@ use crate::sst::index::bloom_filter::applier::BloomFilterIndexApplier; use crate::sst::index::puffin_manager::PuffinManagerFactory; pub struct BloomFilterIndexApplierBuilder<'a> { - region_dir: String, + table_dir: String, path_type: PathType, object_store: ObjectStore, metadata: &'a RegionMetadata, @@ -51,14 +51,15 @@ pub struct BloomFilterIndexApplierBuilder<'a> { impl<'a> BloomFilterIndexApplierBuilder<'a> { pub fn new( - region_dir: String, + table_dir: String, + path_type: PathType, object_store: ObjectStore, metadata: &'a RegionMetadata, puffin_manager_factory: PuffinManagerFactory, ) -> Self { Self { - region_dir, - path_type: PathType::Bare, // Default to Bare + table_dir, + path_type, object_store, metadata, puffin_manager_factory, @@ -69,11 +70,6 @@ impl<'a> BloomFilterIndexApplierBuilder<'a> { } } - pub fn with_path_type(mut self, path_type: PathType) -> Self { - self.path_type = path_type; - self - } - pub fn with_file_cache(mut self, file_cache: Option) -> Self { self.file_cache = file_cache; self @@ -106,7 +102,7 @@ impl<'a> BloomFilterIndexApplierBuilder<'a> { } let applier = BloomFilterIndexApplier::new( - self.region_dir, + self.table_dir, self.path_type, self.object_store, self.puffin_manager_factory, @@ -399,6 +395,7 @@ mod tests { let metadata = test_region_metadata(); let builder = BloomFilterIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, factory, @@ -435,6 +432,7 @@ mod tests { let metadata = test_region_metadata(); let builder = BloomFilterIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, factory, @@ -462,6 +460,7 @@ mod tests { let builder = || { BloomFilterIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, factory.clone(), @@ -521,6 +520,7 @@ mod tests { let metadata = test_region_metadata(); let builder = BloomFilterIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, factory, @@ -553,6 +553,7 @@ mod tests { let metadata = test_region_metadata(); let builder = BloomFilterIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, factory, @@ -590,6 +591,7 @@ mod tests { let metadata = test_region_metadata(); let builder = BloomFilterIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, factory, @@ -625,6 +627,7 @@ mod tests { let metadata = test_region_metadata(); let builder = BloomFilterIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, factory, diff --git a/src/mito2/src/sst/index/fulltext_index/applier.rs b/src/mito2/src/sst/index/fulltext_index/applier.rs index 1a9f9fa1be..1c23a32fcd 100644 --- a/src/mito2/src/sst/index/fulltext_index/applier.rs +++ b/src/mito2/src/sst/index/fulltext_index/applier.rs @@ -72,14 +72,14 @@ pub type FulltextIndexApplierRef = Arc; impl FulltextIndexApplier { /// Creates a new `FulltextIndexApplier`. pub fn new( - region_dir: String, + table_dir: String, path_type: PathType, store: ObjectStore, requests: BTreeMap, puffin_manager_factory: PuffinManagerFactory, ) -> Self { let requests = Arc::new(requests); - let index_source = IndexSource::new(region_dir, path_type, puffin_manager_factory, store); + let index_source = IndexSource::new(table_dir, path_type, puffin_manager_factory, store); Self { predicate_key: PredicateKey::new_fulltext(requests.clone()), @@ -425,7 +425,7 @@ impl FulltextIndexApplier { /// The source of the index. struct IndexSource { - region_dir: String, + table_dir: String, /// Path type for generating file paths. path_type: PathType, @@ -445,13 +445,13 @@ struct IndexSource { impl IndexSource { fn new( - region_dir: String, + table_dir: String, path_type: PathType, puffin_manager_factory: PuffinManagerFactory, remote_store: ObjectStore, ) -> Self { Self { - region_dir, + table_dir, path_type, puffin_manager_factory, remote_store, @@ -581,7 +581,7 @@ impl IndexSource { .puffin_manager_factory .build( self.remote_store.clone(), - RegionFilePathFactory::new(self.region_dir.clone(), self.path_type), + RegionFilePathFactory::new(self.table_dir.clone(), self.path_type), ) .with_puffin_metadata_cache(self.puffin_metadata_cache.clone()); diff --git a/src/mito2/src/sst/index/fulltext_index/applier/builder.rs b/src/mito2/src/sst/index/fulltext_index/applier/builder.rs index c9289e15bf..505dda312b 100644 --- a/src/mito2/src/sst/index/fulltext_index/applier/builder.rs +++ b/src/mito2/src/sst/index/fulltext_index/applier/builder.rs @@ -81,7 +81,7 @@ pub struct FulltextTerm { /// `FulltextIndexApplierBuilder` is a builder for `FulltextIndexApplier`. pub struct FulltextIndexApplierBuilder<'a> { - region_dir: String, + table_dir: String, path_type: PathType, store: ObjectStore, puffin_manager_factory: PuffinManagerFactory, @@ -94,14 +94,15 @@ pub struct FulltextIndexApplierBuilder<'a> { impl<'a> FulltextIndexApplierBuilder<'a> { /// Creates a new `FulltextIndexApplierBuilder`. pub fn new( - region_dir: String, + table_dir: String, + path_type: PathType, store: ObjectStore, puffin_manager_factory: PuffinManagerFactory, metadata: &'a RegionMetadata, ) -> Self { Self { - region_dir, - path_type: PathType::Bare, // Default to Bare + table_dir, + path_type, store, puffin_manager_factory, metadata, @@ -111,12 +112,6 @@ impl<'a> FulltextIndexApplierBuilder<'a> { } } - /// Sets the path type to be used by the `FulltextIndexApplier`. - pub fn with_path_type(mut self, path_type: PathType) -> Self { - self.path_type = path_type; - self - } - /// Sets the file cache to be used by the `FulltextIndexApplier`. pub fn with_file_cache(mut self, file_cache: Option) -> Self { self.file_cache = file_cache; @@ -155,7 +150,7 @@ impl<'a> FulltextIndexApplierBuilder<'a> { Ok(has_requests.then(|| { FulltextIndexApplier::new( - self.region_dir, + self.table_dir, self.path_type, self.store, requests, diff --git a/src/mito2/src/sst/index/fulltext_index/creator.rs b/src/mito2/src/sst/index/fulltext_index/creator.rs index 1bfb4aee28..bc98b162a6 100644 --- a/src/mito2/src/sst/index/fulltext_index/creator.rs +++ b/src/mito2/src/sst/index/fulltext_index/creator.rs @@ -542,7 +542,7 @@ mod tests { Option, ) -> BoxFuture<'static, Option>> { let (d, factory) = PuffinManagerFactory::new_for_test_async(prefix).await; - let region_dir = "region0".to_string(); + let table_dir = "table0".to_string(); let sst_file_id = FileId::random(); let object_store = mock_object_store(); let region_metadata = mock_region_metadata(backend.clone()); @@ -565,7 +565,7 @@ mod tests { let puffin_manager = factory.build( object_store.clone(), - RegionFilePathFactory::new(region_dir.clone(), PathType::Bare), + RegionFilePathFactory::new(table_dir.clone(), PathType::Bare), ); let region_file_id = RegionFileId::new(region_metadata.region_id, sst_file_id); let mut writer = puffin_manager.writer(®ion_file_id).await.unwrap(); @@ -576,7 +576,7 @@ mod tests { terms_requests: Vec<(ColumnId, Vec<(bool, &str)>)>, coarse_mask: Option| { let _d = &d; - let region_dir = region_dir.clone(); + let table_dir = table_dir.clone(); let object_store = object_store.clone(); let factory = factory.clone(); @@ -609,7 +609,7 @@ mod tests { } let applier = FulltextIndexApplier::new( - region_dir, + table_dir, PathType::Bare, object_store, requests, diff --git a/src/mito2/src/sst/index/inverted_index/applier.rs b/src/mito2/src/sst/index/inverted_index/applier.rs index dc4946accc..d070308916 100644 --- a/src/mito2/src/sst/index/inverted_index/applier.rs +++ b/src/mito2/src/sst/index/inverted_index/applier.rs @@ -47,8 +47,8 @@ use crate::sst::index::TYPE_INVERTED_INDEX; /// `InvertedIndexApplier` is responsible for applying predicates to the provided SST files /// and returning the relevant row group ids for further scan. pub(crate) struct InvertedIndexApplier { - /// The root directory of the region. - region_dir: String, + /// The root directory of the table. + table_dir: String, /// Path type for generating file paths. path_type: PathType, @@ -81,7 +81,7 @@ pub(crate) type InvertedIndexApplierRef = Arc; impl InvertedIndexApplier { /// Creates a new `InvertedIndexApplier`. pub fn new( - region_dir: String, + table_dir: String, path_type: PathType, store: ObjectStore, index_applier: Box, @@ -91,7 +91,7 @@ impl InvertedIndexApplier { INDEX_APPLY_MEMORY_USAGE.add(index_applier.memory_usage() as i64); Self { - region_dir, + table_dir, path_type, store, file_cache: None, @@ -215,7 +215,7 @@ impl InvertedIndexApplier { .puffin_manager_factory .build( self.store.clone(), - RegionFilePathFactory::new(self.region_dir.clone(), self.path_type), + RegionFilePathFactory::new(self.table_dir.clone(), self.path_type), ) .with_puffin_metadata_cache(self.puffin_metadata_cache.clone()); @@ -261,11 +261,11 @@ mod tests { PuffinManagerFactory::new_for_test_async("test_index_applier_apply_basic_").await; let object_store = ObjectStore::new(Memory::default()).unwrap().finish(); let file_id = RegionFileId::new(0.into(), FileId::random()); - let region_dir = "region_dir".to_string(); + let table_dir = "table_dir".to_string(); let puffin_manager = puffin_manager_factory.build( object_store.clone(), - RegionFilePathFactory::new(region_dir.clone(), PathType::Bare), + RegionFilePathFactory::new(table_dir.clone(), PathType::Bare), ); let mut writer = puffin_manager.writer(&file_id).await.unwrap(); writer @@ -290,7 +290,7 @@ mod tests { }); let sst_index_applier = InvertedIndexApplier::new( - region_dir.clone(), + table_dir.clone(), PathType::Bare, object_store, Box::new(mock_index_applier), @@ -315,11 +315,11 @@ mod tests { .await; let object_store = ObjectStore::new(Memory::default()).unwrap().finish(); let file_id = RegionFileId::new(0.into(), FileId::random()); - let region_dir = "region_dir".to_string(); + let table_dir = "table_dir".to_string(); let puffin_manager = puffin_manager_factory.build( object_store.clone(), - RegionFilePathFactory::new(region_dir.clone(), PathType::Bare), + RegionFilePathFactory::new(table_dir.clone(), PathType::Bare), ); let mut writer = puffin_manager.writer(&file_id).await.unwrap(); writer @@ -338,7 +338,7 @@ mod tests { mock_index_applier.expect_apply().never(); let sst_index_applier = InvertedIndexApplier::new( - region_dir.clone(), + table_dir.clone(), PathType::Bare, object_store, Box::new(mock_index_applier), diff --git a/src/mito2/src/sst/index/inverted_index/applier/builder.rs b/src/mito2/src/sst/index/inverted_index/applier/builder.rs index 7c60f6ae09..7165e84522 100644 --- a/src/mito2/src/sst/index/inverted_index/applier/builder.rs +++ b/src/mito2/src/sst/index/inverted_index/applier/builder.rs @@ -46,8 +46,8 @@ use crate::sst::index::puffin_manager::PuffinManagerFactory; /// Constructs an [`InvertedIndexApplier`] which applies predicates to SST files during scan. pub(crate) struct InvertedIndexApplierBuilder<'a> { - /// Directory of the region, required argument for constructing [`InvertedIndexApplier`]. - region_dir: String, + /// Directory of the table, required argument for constructing [`InvertedIndexApplier`]. + table_dir: String, /// Path type for generating file paths. path_type: PathType, @@ -80,15 +80,16 @@ pub(crate) struct InvertedIndexApplierBuilder<'a> { impl<'a> InvertedIndexApplierBuilder<'a> { /// Creates a new [`InvertedIndexApplierBuilder`]. pub fn new( - region_dir: String, + table_dir: String, + path_type: PathType, object_store: ObjectStore, metadata: &'a RegionMetadata, indexed_column_ids: HashSet, puffin_manager_factory: PuffinManagerFactory, ) -> Self { Self { - region_dir, - path_type: PathType::Bare, // Default to Bare + table_dir, + path_type, object_store, metadata, indexed_column_ids, @@ -100,12 +101,6 @@ impl<'a> InvertedIndexApplierBuilder<'a> { } } - /// Sets the path type. - pub fn with_path_type(mut self, path_type: PathType) -> Self { - self.path_type = path_type; - self - } - /// Sets the file cache. pub fn with_file_cache(mut self, file_cache: Option) -> Self { self.file_cache = file_cache; @@ -150,7 +145,7 @@ impl<'a> InvertedIndexApplierBuilder<'a> { Ok(Some( InvertedIndexApplier::new( - self.region_dir, + self.table_dir, self.path_type, self.object_store, Box::new(applier.context(BuildIndexApplierSnafu)?), @@ -354,6 +349,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), diff --git a/src/mito2/src/sst/index/inverted_index/applier/builder/between.rs b/src/mito2/src/sst/index/inverted_index/applier/builder/between.rs index 5b2c3a1459..0703e69db6 100644 --- a/src/mito2/src/sst/index/inverted_index/applier/builder/between.rs +++ b/src/mito2/src/sst/index/inverted_index/applier/builder/between.rs @@ -60,6 +60,8 @@ impl InvertedIndexApplierBuilder<'_> { mod tests { use std::collections::HashSet; + use store_api::region_request::PathType; + use super::*; use crate::error::Error; use crate::sst::index::inverted_index::applier::builder::tests::{ @@ -74,6 +76,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -115,6 +118,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -139,6 +143,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -180,6 +185,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -205,6 +211,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), diff --git a/src/mito2/src/sst/index/inverted_index/applier/builder/comparison.rs b/src/mito2/src/sst/index/inverted_index/applier/builder/comparison.rs index 1b1a3e2854..5ce72f474a 100644 --- a/src/mito2/src/sst/index/inverted_index/applier/builder/comparison.rs +++ b/src/mito2/src/sst/index/inverted_index/applier/builder/comparison.rs @@ -132,6 +132,8 @@ mod tests { use std::collections::HashSet; + use store_api::region_request::PathType; + use super::*; use crate::error::Error; use crate::sst::index::inverted_index::applier::builder::tests::{ @@ -230,6 +232,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -257,6 +260,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -275,6 +279,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -308,6 +313,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), diff --git a/src/mito2/src/sst/index/inverted_index/applier/builder/eq_list.rs b/src/mito2/src/sst/index/inverted_index/applier/builder/eq_list.rs index a4deb9b3a5..41e6457ae4 100644 --- a/src/mito2/src/sst/index/inverted_index/applier/builder/eq_list.rs +++ b/src/mito2/src/sst/index/inverted_index/applier/builder/eq_list.rs @@ -124,6 +124,8 @@ impl InvertedIndexApplierBuilder<'_> { mod tests { use std::collections::HashSet; + use store_api::region_request::PathType; + use super::*; use crate::error::Error; use crate::sst::index::inverted_index::applier::builder::tests::{ @@ -138,6 +140,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -174,6 +177,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -201,6 +205,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -219,6 +224,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -237,6 +243,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -294,6 +301,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -330,6 +338,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), diff --git a/src/mito2/src/sst/index/inverted_index/applier/builder/in_list.rs b/src/mito2/src/sst/index/inverted_index/applier/builder/in_list.rs index 68199a4b1f..abb2b95a19 100644 --- a/src/mito2/src/sst/index/inverted_index/applier/builder/in_list.rs +++ b/src/mito2/src/sst/index/inverted_index/applier/builder/in_list.rs @@ -55,6 +55,8 @@ impl InvertedIndexApplierBuilder<'_> { mod tests { use std::collections::HashSet; + use store_api::region_request::PathType; + use super::*; use crate::error::Error; use crate::sst::index::inverted_index::applier::builder::tests::{ @@ -69,6 +71,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -100,6 +103,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -123,6 +127,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -154,6 +159,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -179,6 +185,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), diff --git a/src/mito2/src/sst/index/inverted_index/applier/builder/regex_match.rs b/src/mito2/src/sst/index/inverted_index/applier/builder/regex_match.rs index 7148986e6d..35bf2739bd 100644 --- a/src/mito2/src/sst/index/inverted_index/applier/builder/regex_match.rs +++ b/src/mito2/src/sst/index/inverted_index/applier/builder/regex_match.rs @@ -47,6 +47,8 @@ impl InvertedIndexApplierBuilder<'_> { mod tests { use std::collections::HashSet; + use store_api::region_request::PathType; + use super::*; use crate::error::Error; use crate::sst::index::inverted_index::applier::builder::tests::{ @@ -61,6 +63,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -88,6 +91,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -115,6 +119,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), @@ -135,6 +140,7 @@ mod tests { let metadata = test_region_metadata(); let mut builder = InvertedIndexApplierBuilder::new( "test".to_string(), + PathType::Bare, test_object_store(), &metadata, HashSet::from_iter([1, 2, 3]), diff --git a/src/mito2/src/sst/index/inverted_index/creator.rs b/src/mito2/src/sst/index/inverted_index/creator.rs index f2fd529769..933ac18bb4 100644 --- a/src/mito2/src/sst/index/inverted_index/creator.rs +++ b/src/mito2/src/sst/index/inverted_index/creator.rs @@ -446,7 +446,7 @@ mod tests { rows: BTreeSet<(&'static str, i32, [u64; 2])>, ) -> impl Fn(DfExpr) -> BoxFuture<'static, Vec> { let (d, factory) = PuffinManagerFactory::new_for_test_async(prefix).await; - let region_dir = "region0".to_string(); + let table_dir = "table0".to_string(); let sst_file_id = FileId::random(); let object_store = mock_object_store(); let region_metadata = mock_region_metadata(); @@ -471,7 +471,7 @@ mod tests { let puffin_manager = factory.build( object_store.clone(), - RegionFilePathFactory::new(region_dir.clone(), PathType::Bare), + RegionFilePathFactory::new(table_dir.clone(), PathType::Bare), ); let sst_file_id = RegionFileId::new(region_metadata.region_id, sst_file_id); @@ -485,7 +485,8 @@ mod tests { let cache = Arc::new(InvertedIndexCache::new(10, 10, 100)); let puffin_metadata_cache = Arc::new(PuffinMetadataCache::new(10, &CACHE_BYTES)); let applier = InvertedIndexApplierBuilder::new( - region_dir.clone(), + table_dir.clone(), + PathType::Bare, object_store.clone(), ®ion_metadata, indexed_column_ids.clone(), diff --git a/src/mito2/src/sst/parquet.rs b/src/mito2/src/sst/parquet.rs index 887af09629..0d7b0aa739 100644 --- a/src/mito2/src/sst/parquet.rs +++ b/src/mito2/src/sst/parquet.rs @@ -750,6 +750,7 @@ mod tests { let build_inverted_index_applier = |exprs: &[Expr]| { InvertedIndexApplierBuilder::new( FILE_DIR.to_string(), + PathType::Bare, object_store.clone(), &metadata, HashSet::from_iter([0]), @@ -765,6 +766,7 @@ mod tests { let build_bloom_filter_applier = |exprs: &[Expr]| { BloomFilterIndexApplierBuilder::new( FILE_DIR.to_string(), + PathType::Bare, object_store.clone(), &metadata, env.get_puffin_manager(), diff --git a/src/mito2/src/worker/handle_catchup.rs b/src/mito2/src/worker/handle_catchup.rs index 9b58a955be..310d18f6dd 100644 --- a/src/mito2/src/worker/handle_catchup.rs +++ b/src/mito2/src/worker/handle_catchup.rs @@ -144,6 +144,7 @@ impl RegionWorkerLoop { RegionOpener::new( region_id, region.table_dir(), + region.access_layer.path_type(), self.memtable_builder_provider.clone(), self.object_store_manager.clone(), self.purge_scheduler.clone(), @@ -151,7 +152,6 @@ impl RegionWorkerLoop { self.intermediate_manager.clone(), self.time_provider.clone(), ) - .path_type(region.access_layer.path_type()) .cache(Some(self.cache_manager.clone())) .options(region.version().options.clone())? .skip_wal_replay(true) diff --git a/src/mito2/src/worker/handle_create.rs b/src/mito2/src/worker/handle_create.rs index 096c6ce993..ca0a80dbcc 100644 --- a/src/mito2/src/worker/handle_create.rs +++ b/src/mito2/src/worker/handle_create.rs @@ -56,6 +56,7 @@ impl RegionWorkerLoop { let region = RegionOpener::new( region_id, &request.table_dir, + request.path_type, self.memtable_builder_provider.clone(), self.object_store_manager.clone(), self.purge_scheduler.clone(), @@ -64,7 +65,6 @@ impl RegionWorkerLoop { self.time_provider.clone(), ) .metadata_builder(builder) - .path_type(request.path_type) .parse_options(request.options)? .cache(Some(self.cache_manager.clone())) .create_or_open(&self.config, &self.wal) diff --git a/src/mito2/src/worker/handle_open.rs b/src/mito2/src/worker/handle_open.rs index d892c57e3a..86963f6598 100644 --- a/src/mito2/src/worker/handle_open.rs +++ b/src/mito2/src/worker/handle_open.rs @@ -96,6 +96,7 @@ impl RegionWorkerLoop { let opener = match RegionOpener::new( region_id, &request.table_dir, + request.path_type, self.memtable_builder_provider.clone(), self.object_store_manager.clone(), self.purge_scheduler.clone(), @@ -103,7 +104,6 @@ impl RegionWorkerLoop { self.intermediate_manager.clone(), self.time_provider.clone(), ) - .path_type(request.path_type) .skip_wal_replay(request.skip_wal_replay) .cache(Some(self.cache_manager.clone())) .wal_entry_reader(wal_entry_receiver.map(|receiver| Box::new(receiver) as _))