From 99ca43fd22b70b7d5b3290595e1467dbd94b8596 Mon Sep 17 00:00:00 2001 From: Paul Masurel Date: Mon, 24 Oct 2016 22:41:14 +0900 Subject: [PATCH] NOBUG introduced DefaultMergePolicy type --- src/indexer/merge_policy.rs | 12 ++++++++++-- src/indexer/mod.rs | 1 + src/indexer/segment_updater.rs | 4 ++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/indexer/merge_policy.rs b/src/indexer/merge_policy.rs index 3ac5b2e88..cbf55ec34 100644 --- a/src/indexer/merge_policy.rs +++ b/src/indexer/merge_policy.rs @@ -12,8 +12,16 @@ pub trait MergePolicy: marker::Send { pub struct NoMergePolicy; +impl Default for NoMergePolicy { + fn default() -> NoMergePolicy { + NoMergePolicy + } +} + + impl MergePolicy for NoMergePolicy { - fn compute_merge_candidates(&self, segments: &[SegmentMeta]) -> Vec { + fn compute_merge_candidates(&self, _segments: &[SegmentMeta]) -> Vec { Vec::new() } -} \ No newline at end of file +} + diff --git a/src/indexer/mod.rs b/src/indexer/mod.rs index 32c80a5e6..1b385b8a3 100644 --- a/src/indexer/mod.rs +++ b/src/indexer/mod.rs @@ -17,3 +17,4 @@ pub use self::simple_merge_policy::SimpleMergePolicy; pub use self::merge_policy::{NoMergePolicy, MergeCandidate, MergePolicy}; pub use self::segment_manager::SegmentManager; +pub type DefaultMergePolicy = SimpleMergePolicy; diff --git a/src/indexer/segment_updater.rs b/src/indexer/segment_updater.rs index d0460b462..c5ac13b72 100644 --- a/src/indexer/segment_updater.rs +++ b/src/indexer/segment_updater.rs @@ -6,7 +6,7 @@ use core::Segment; use core::SegmentId; use core::SegmentMeta; use core::SerializableSegment; -use indexer::{MergePolicy, SimpleMergePolicy}; +use indexer::{DefaultMergePolicy, MergePolicy}; use indexer::index_writer::save_metas; use indexer::MergeCandidate; use indexer::merger::IndexMerger; @@ -108,7 +108,7 @@ impl SegmentUpdater { segment_update_sender: segment_update_sender, segment_update_receiver: segment_update_receiver, segment_manager_arc: segment_manager_arc, - merge_policy: Box::new(SimpleMergePolicy::default()), // TODO make that configurable + merge_policy: Box::new(DefaultMergePolicy::default()), // TODO make that configurable merging_thread_id: 0, merging_threads: HashMap::new(), }