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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org