Tomoko Uchida created LUCENE-10589: -------------------------------------- Summary: Fix corner case in TestKnnVectorQuery.testRandomWithFilter Key: LUCENE-10589 URL: https://issues.apache.org/jira/browse/LUCENE-10589 Project: Lucene - Core Issue Type: Improvement Reporter: Tomoko Uchida
{{TestKnnVectorQuery.testRandomWithFilter}} can fail with java.lang.UnsupportedOperationException. Reproducible command {code:java} ./gradlew test --tests TestKnnVectorQuery.testRandomWithFilter -Dtests.seed=1DA39B92702DAC45 -Dtests.multiplier=3 {code} {code:java} org.apache.lucene.search.TestKnnVectorQuery > testRandomWithFilter FAILED java.lang.UnsupportedOperationException: exact search is not supported at __randomizedtesting.SeedInfo.seed([1DA39B92702DAC45:6BEAC2197AD96AE0]:0) at org.apache.lucene.search.TestKnnVectorQuery$ThrowingKnnVectorQuery.exactSearch(TestKnnVectorQuery.java:715) at org.apache.lucene.search.KnnVectorQuery.searchLeaf(KnnVectorQuery.java:151) at org.apache.lucene.search.KnnVectorQuery.rewrite(KnnVectorQuery.java:108) at org.apache.lucene.search.ConstantScoreQuery.rewrite(ConstantScoreQuery.java:44) at org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:789) at org.apache.lucene.tests.search.AssertingIndexSearcher.rewrite(AssertingIndexSearcher.java:69) at org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:803) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:685) at org.apache.lucene.search.IndexSearcher.searchAfter(IndexSearcher.java:667) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:584) at org.apache.lucene.search.TestKnnVectorQuery.testRandomWithFilter(TestKnnVectorQuery.java:556) {code} In some edge cases (depending on the random seed), [KnnVectorQuery.java#147|https://github.com/apache/lucene/blob/fe9d26178d033f585c08a5e86708063ac0ec0c9e/lucene/core/src/java/org/apache/lucene/search/KnnVectorQuery.java#L147] becomes false, and then `exactSearch()` is called. The upper bound of [the test range query (filter)|https://github.com/apache/lucene/blob/fe9d26178d033f585c08a5e86708063ac0ec0c9e/lucene/core/src/test/org/apache/lucene/search/TestKnnVectorQuery.java#L554] could be 200 (the max value of "tag" field + 1) instead of lower + 150 to make it "unrestrictive"? -- This message was sent by Atlassian Jira (v8.20.7#820007) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org