Github user cbismuth commented on a diff in the pull request:
https://github.com/apache/lucene-solr/pull/495#discussion_r232178369
--- Diff:
lucene/core/src/java/org/apache/lucene/search/ConstantScoreScorer.java ---
@@ -58,6 +58,14 @@ public float getMaxScore(int upTo) throws IOException {
return score;
}
+ @Override
+ public void setMinCompetitiveScore(float minScore) throws IOException {
+ float minScoreDown = Math.nextDown(minScore);
--- End diff --
Without this, the `TestPrefixRandom#testPrefixes` test fails with `score =
1.0` and `minScore = 1.0000001`, so documents are not collected. What do you
think of it?
```
java.lang.AssertionError: Collected: 21 but scorer: -1
at
__randomizedtesting.SeedInfo.seed([C3B30196BD4F380C:91676D9F44FA34A5]:0)
at
org.apache.lucene.search.AssertingLeafCollector.collect(AssertingLeafCollector.java:48)
at
org.apache.lucene.search.Weight$DefaultBulkScorer.scoreAll(Weight.java:263)
at
org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:214)
at
org.apache.lucene.search.AssertingBulkScorer.score(AssertingBulkScorer.java:81)
at
org.apache.lucene.search.AssertingBulkScorer.score(AssertingBulkScorer.java:65)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:652)
at
org.apache.lucene.search.AssertingIndexSearcher.search(AssertingIndexSearcher.java:72)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:443)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:567)
at
org.apache.lucene.search.IndexSearcher.searchAfter(IndexSearcher.java:419)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:430)
at
org.apache.lucene.search.TestPrefixRandom.assertSame(TestPrefixRandom.java:135)
at
org.apache.lucene.search.TestPrefixRandom.testPrefixes(TestPrefixRandom.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1742)
at
com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:935)
at
com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:971)
at
com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:985)
at
org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
at
org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
at
org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
at
org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
at
org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
at
com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
at
com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
at
com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
at
com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:944)
at
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:830)
at
com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:880)
at
com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:891)
at
org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
at
org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
at
com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
at
com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
at
org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
at
org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
at
org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
at
org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
at
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
at
com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
at java.lang.Thread.run(Thread.java:748)
NOTE: reproduce with: ant test -Dtestcase=TestPrefixRandom
-Dtests.method=testPrefixes -Dtests.seed=C3B30196BD4F380C -Dtests.slow=true
-Dtests.badapples=true -Dtests.locale=lv-LV -Dtests.timezone=Asia/Oral
-Dtests.asserts=true -Dtests.file.encoding=UTF-8
NOTE: test params are: codec=Asserting(Lucene80),
sim=Asserting(org.apache.lucene.search.similarities.AssertingSimilarity@3da71b7e),
locale=lv-LV, timezone=Asia/Oral
NOTE: Linux 4.15.0-38-generic amd64/Oracle Corporation 1.8.0_181
(64-bit)/cpus=4,threads=1,free=114149608,total=124780544
NOTE: All tests run in this JVM: [TestPrefixRandom]
Disconnected from the target VM, address: '127.0.0.1:40741', transport:
'socket'
Process finished with exit code 255
```
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]