You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Tomoko Uchida (Jira)" <ji...@apache.org> on 2022/06/04 14:53:00 UTC
[jira] [Reopened] (LUCENE-10589) Fix corner case in TestKnnVectorQuery.testRandomWithFilter
[ https://issues.apache.org/jira/browse/LUCENE-10589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tomoko Uchida reopened LUCENE-10589:
------------------------------------
The same failure happened with another seed and multiplier.
{code}
./gradlew test --tests TestKnnVectorQuery.testRandomWithFilter -Dtests.seed=3B57C037BA146B7A -Dtests.multiplier=3
{code}
{code}
org.apache.lucene.search.TestKnnVectorQuery > test suite's output saved to /mnt/hdd/repo/lucene/lucene/core/build/test-results/test/outputs/OUTPUT-org.apache.lucene.search.TestKnnVectorQuery.txt, copied below:
> java.lang.UnsupportedOperationException: exact search is not supported
> at __randomizedtesting.SeedInfo.seed([3B57C037BA146B7A:4D1E99BCB0E0ADDF]: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}
I have little time right now but just wanted to reopen this. Will take a look some time later (if anyone else does not find a quick fix until then).
> 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
> Priority: Minor
> Fix For: 10.0 (main), 9.3
>
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> {{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-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org