refactor: explicitly accept path type as param (#6583)

Signed-off-by: Zhenchi <zhongzc_arch@outlook.com>
This commit is contained in:
Zhenchi
2025-07-24 17:56:41 +08:00
committed by GitHub
parent b01be5efc5
commit dc01511adc
19 changed files with 110 additions and 82 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -50,8 +50,8 @@ pub(crate) type BloomFilterIndexApplierRef = Arc<BloomFilterIndexApplier>;
/// `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<Range<usize>>)>>
+ 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(),
&region_metadata,
factory.clone(),

View File

@@ -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<FileCacheRef>) -> 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,

View File

@@ -72,14 +72,14 @@ pub type FulltextIndexApplierRef = Arc<FulltextIndexApplier>;
impl FulltextIndexApplier {
/// Creates a new `FulltextIndexApplier`.
pub fn new(
region_dir: String,
table_dir: String,
path_type: PathType,
store: ObjectStore,
requests: BTreeMap<ColumnId, FulltextRequest>,
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());

View File

@@ -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<FileCacheRef>) -> 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,

View File

@@ -542,7 +542,7 @@ mod tests {
Option<BitVec>,
) -> BoxFuture<'static, Option<BTreeSet<RowId>>> {
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(&region_file_id).await.unwrap();
@@ -576,7 +576,7 @@ mod tests {
terms_requests: Vec<(ColumnId, Vec<(bool, &str)>)>,
coarse_mask: Option<BitVec>| {
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,

View File

@@ -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<InvertedIndexApplier>;
impl InvertedIndexApplier {
/// Creates a new `InvertedIndexApplier`.
pub fn new(
region_dir: String,
table_dir: String,
path_type: PathType,
store: ObjectStore,
index_applier: Box<dyn IndexApplier>,
@@ -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),

View File

@@ -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<ColumnId>,
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<FileCacheRef>) -> 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]),

View File

@@ -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]),

View File

@@ -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]),

View File

@@ -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]),

View File

@@ -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]),

View File

@@ -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]),

View File

@@ -446,7 +446,7 @@ mod tests {
rows: BTreeSet<(&'static str, i32, [u64; 2])>,
) -> impl Fn(DfExpr) -> BoxFuture<'static, Vec<usize>> {
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(),
&region_metadata,
indexed_column_ids.clone(),

View File

@@ -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(),

View File

@@ -144,6 +144,7 @@ impl<S: LogStore> RegionWorkerLoop<S> {
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<S: LogStore> RegionWorkerLoop<S> {
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)

View File

@@ -56,6 +56,7 @@ impl<S: LogStore> RegionWorkerLoop<S> {
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<S: LogStore> RegionWorkerLoop<S> {
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)

View File

@@ -96,6 +96,7 @@ impl<S: LogStore> RegionWorkerLoop<S> {
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<S: LogStore> RegionWorkerLoop<S> {
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 _))