Skip to content

Commit 2cd54d2

Browse files
committed
Check use_mutable_id_tracker_without_rocksdb feature flag when building new segment
1 parent c283b00 commit 2cd54d2

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

lib/segment/src/segment_constructor/segment_builder.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use atomic_refcell::AtomicRefCell;
1111
use bitvec::macros::internal::funty::Integral;
1212
use common::budget::ResourcePermit;
1313
use common::counter::hardware_counter::HardwareCounterCell;
14+
use common::flags::feature_flags;
1415
use common::small_uint::U24;
1516
use common::types::PointOffsetType;
1617
use io::storage_version::StorageVersion;
@@ -19,9 +20,10 @@ use tempfile::TempDir;
1920
use uuid::Uuid;
2021

2122
use super::{
22-
create_mutable_id_tracker, create_payload_storage, create_sparse_vector_index,
23-
create_sparse_vector_storage, get_payload_index_path, get_vector_index_path,
24-
get_vector_storage_path, new_segment_path, open_segment_db, open_vector_storage,
23+
create_mutable_id_tracker, create_payload_storage, create_rocksdb_id_tracker,
24+
create_sparse_vector_index, create_sparse_vector_storage, get_payload_index_path,
25+
get_vector_index_path, get_vector_storage_path, new_segment_path, open_segment_db,
26+
open_vector_storage,
2527
};
2628
use crate::common::error_logging::LogError;
2729
use crate::common::operation_error::{OperationError, OperationResult, check_process_stopped};
@@ -85,7 +87,11 @@ impl SegmentBuilder {
8587
let database = open_segment_db(temp_dir.path(), segment_config)?;
8688

8789
let id_tracker = if segment_config.is_appendable() {
88-
IdTrackerEnum::MutableIdTracker(create_mutable_id_tracker(temp_dir.path())?)
90+
if feature_flags().use_mutable_id_tracker_without_rocksdb {
91+
IdTrackerEnum::MutableIdTracker(create_mutable_id_tracker(temp_dir.path())?)
92+
} else {
93+
IdTrackerEnum::RocksDbIdTracker(create_rocksdb_id_tracker(database.clone())?)
94+
}
8995
} else {
9096
IdTrackerEnum::InMemoryIdTracker(InMemoryIdTracker::new())
9197
};

0 commit comments

Comments
 (0)