Skip to content

Commit 3d49117

Browse files
MedhaSrivatsareta
authored andcommitted
Fix flaky test KNNJVectorTests.testJVectorKnnIndex_simpleCase (#305)
* Fix flaky test KNNJVectorTests.testJVectorKnnIndex_simpleCase Signed-off-by: Medha Srinivasarao Srivatsa <medha.srivatsa@gmail.com> * Fix indentation and update changelog Signed-off-by: Medha Srinivasarao Srivatsa <medha.srivatsa@gmail.com> * Apply suggestions from code review Co-authored-by: Andriy Redko <drreta@gmail.com> Signed-off-by: Andriy Redko <drreta@gmail.com> --------- Signed-off-by: Medha Srinivasarao Srivatsa <medha.srivatsa@gmail.com> Signed-off-by: Andriy Redko <drreta@gmail.com> Co-authored-by: Andriy Redko <drreta@gmail.com> (cherry picked from commit a181659)
1 parent cee4dca commit 3d49117

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

src/test/java/org/opensearch/knn/index/codec/jvector/KNNJVectorTests.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public void testJVectorKnnIndex_simpleCase() throws IOException {
6060
indexWriterConfig.setUseCompoundFile(false);
6161
indexWriterConfig.setCodec(getCodec());
6262
indexWriterConfig.setMergePolicy(new ForceMergesOnlyMergePolicy());
63+
log.info("Max buffered docs: {}", indexWriterConfig.getMaxBufferedDocs());
6364
final Path indexPath = createTempDir();
6465
log.info("Index path: {}", indexPath);
6566
try (FSDirectory dir = FSDirectory.open(indexPath); IndexWriter w = new IndexWriter(dir, indexWriterConfig)) {
@@ -74,8 +75,12 @@ public void testJVectorKnnIndex_simpleCase() throws IOException {
7475
w.commit();
7576

7677
try (IndexReader reader = DirectoryReader.open(w)) {
77-
log.info("We should now have a single segment with 10 documents");
78-
Assert.assertEquals(1, reader.getContext().leaves().size());
78+
int expectedNumOfSegments = indexWriterConfig.getMaxBufferedDocs() < 0 ? 1
79+
: totalNumberOfDocs > indexWriterConfig.getMaxBufferedDocs()
80+
? totalNumberOfDocs / indexWriterConfig.getMaxBufferedDocs() + 1
81+
: 1;
82+
log.info("We should now have a {} segment(s) with 10 documents", expectedNumOfSegments);
83+
Assert.assertEquals(expectedNumOfSegments, reader.getContext().leaves().size());
7984
Assert.assertEquals(totalNumberOfDocs, reader.numDocs());
8085

8186
final Query filterQuery = new MatchAllDocsQuery();

0 commit comments

Comments
 (0)