Skip to content

Commit c5c886e

Browse files
committed
fix: restore CancelSentinel in sorted-merge bench
The bundle stripped DummyCancelSentinel + the cancel/ignore_store args from this #[cfg(feature="unstable")] bench. After replaying #31/#40 the merge API is 5-arg again, so restore the bench to match (fixes the unstable build; matches origin/main).
1 parent 45d0895 commit c5c886e

2 files changed

Lines changed: 29 additions & 6 deletions

File tree

benches/merge_segments.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ use rand::SeedableRng;
1717
use tantivy::directory::error::{DeleteError, OpenReadError, OpenWriteError};
1818
use tantivy::directory::{
1919
AntiCallToken, Directory, FileHandle, OwnedBytes, TerminatingWrite, WatchCallback, WatchHandle,
20-
WritePtr,
2120
};
2221
use tantivy::indexer::{merge_filtered_segments, NoMergePolicy};
2322
use tantivy::schema::{Schema, TEXT};
@@ -216,9 +215,14 @@ fn main() {
216215
group.register("merge", move |_| {
217216
let output_dir = NullDirectory::default();
218217
let filter_doc_ids = vec![None; segments.len()];
219-
let merged_index =
220-
merge_filtered_segments(&segments, settings.clone(), filter_doc_ids, output_dir)
221-
.unwrap();
218+
let merged_index = merge_filtered_segments(
219+
&segments,
220+
settings.clone(),
221+
filter_doc_ids,
222+
output_dir,
223+
Box::new(|| false),
224+
)
225+
.unwrap();
222226
black_box(merged_index);
223227
});
224228

src/indexer/merger_sorted_index_test.rs

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,6 +1053,7 @@ mod bench_sorted_index_merge {
10531053

10541054
use crate::index::Index;
10551055
use crate::indexer::merger::IndexMerger;
1056+
use crate::indexer::segment_updater::CancelSentinel;
10561057
use crate::schema::{NumericOptions, Schema};
10571058
use crate::{IndexSettings, IndexSortByField, IndexWriter, Order};
10581059
fn create_index(sort_by_field: Option<IndexSortByField>) -> Index {
@@ -1121,6 +1122,19 @@ mod bench_sorted_index_merge {
11211122
// Ok(())
11221123
//}
11231124

1125+
#[derive(Clone)]
1126+
struct DummyCancelSentinel;
1127+
1128+
impl CancelSentinel for DummyCancelSentinel {
1129+
fn box_clone(&self) -> Box<dyn CancelSentinel> {
1130+
Box::new(DummyCancelSentinel)
1131+
}
1132+
1133+
fn wants_cancel(&self) -> bool {
1134+
false
1135+
}
1136+
}
1137+
11241138
#[bench]
11251139
fn create_sorted_index_create_doc_id_mapping(b: &mut Bencher) -> crate::Result<()> {
11261140
let sort_by_field = IndexSortByField {
@@ -1130,8 +1144,13 @@ mod bench_sorted_index_merge {
11301144
let index = create_index(Some(sort_by_field.clone()));
11311145
// let field = index.schema().get_field("intval").unwrap();
11321146
let segments = index.searchable_segments().unwrap();
1133-
let merger: IndexMerger =
1134-
IndexMerger::open(index.schema(), index.settings().clone(), &segments[..])?;
1147+
let merger: IndexMerger = IndexMerger::open(
1148+
index.schema(),
1149+
index.settings().clone(),
1150+
&segments[..],
1151+
Box::new(DummyCancelSentinel),
1152+
true,
1153+
)?;
11351154
b.iter(|| {
11361155
merger
11371156
.generate_doc_id_mapping_with_sort_by_field(&sort_by_field)

0 commit comments

Comments
 (0)