dblock commented on pull request #711: URL: https://github.com/apache/lucene/pull/711#issuecomment-1057078347
I think we have a case of floating point here. If you change `getMinCompetitiveScore` to take a `double` or `minScoreSum`, it becomes easy to reproduce. It also almost always starts tripping `testNClausesRandomScore` and often `test2ClausesRandomScore`. ```java private float getMinCompetitiveScore(double minScoreSum, double sumOfOtherMaxScores) ``` ```java public void testGetMinCompetitiveScore() throws Exception { List<FakeScorer> scorers = new ArrayList<>(); scorers.add(new FakeScorer(0.39404958f)); scorers.add(new FakeScorer(0.0028006434f)); scorers.add(new FakeScorer(0.24155897f)); float minScoreSum = 2.7810444831848145f; MaxScoreSumPropagator p = new MaxScoreSumPropagator(scorers); p.setMinCompetitiveScore(minScoreSum); } ``` I wasn't able to trip it with a float `minScoreSum` though with the values in the issue, but it has to exist, given that it happened in production. It looks like converging in `getMinCompetitiveScore` relies on truncating (rounding?) doubles to floats, so this looks suspicious to me. Any ideas of what we can do next? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org