From fbe398dfa2e3a66ae19c8c93cb4827607e420a81 Mon Sep 17 00:00:00 2001 From: Paul Masurel Date: Tue, 22 Jan 2019 08:18:32 +0900 Subject: [PATCH] Added a broken unit test --- src/indexer/merger.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/indexer/merger.rs b/src/indexer/merger.rs index 5c7b18d10..b3ccda2ed 100644 --- a/src/indexer/merger.rs +++ b/src/indexer/merger.rs @@ -1255,6 +1255,36 @@ mod tests { } } + + use schema::INT_INDEXED; + #[test] + fn test_bug_merge() { + let mut schema_builder = schema::Schema::builder(); + let int_field = schema_builder.add_u64_field("intvals", INT_INDEXED); + let index = Index::create_in_ram(schema_builder.build()); + let mut index_writer = index.writer_with_num_threads(1, 3_000_000).unwrap(); + index_writer.add_document(doc!(int_field => 1u64)); + index_writer.commit().expect("commit failed"); + index_writer.add_document(doc!(int_field => 1u64)); + index_writer.commit().expect("commit failed"); + index.load_searchers().unwrap(); + let searcher = index.searcher(); + assert_eq!(searcher.num_docs(), 2); + index_writer.delete_term(Term::from_field_u64(int_field, 1)); + let segment_ids = index + .searchable_segment_ids() + .expect("Searchable segments failed."); + index_writer + .merge(&segment_ids) + .expect("Failed to initiate merge") + .wait() + .expect("Merging failed"); + index.load_searchers().unwrap(); + // commit has not been called yet. The document should still be + // there. + assert_eq!(index.searcher().num_docs(), 2); + } + #[test] fn test_merge_multivalued_int_fields_all_deleted() { let mut schema_builder = schema::Schema::builder();