hello: jdk11 solr8.7.0 org.apache.solr.common.SolrException: java.lang.IllegalArgumentException: Comparison method violates its general contract
QueryRescorer line 114 Comparator<ScoreDoc> sortDocComparator = new Comparator<ScoreDoc>() { @Override public int compare(ScoreDoc a, ScoreDoc b) { // Sort by score descending, then docID ascending: if (a.score > b.score) { return -1; } else if (a.score < b.score) { return 1; } else { // This subtraction can't overflow int // because docIDs are >= 0: return a.doc - b.doc; } } }; After 1.7, the Collections.sort() method needs to return the result of 0. Do I have to change this to -Float.compare(a.score, b.score) Without adding JVM parameters: -Djava.util.Arrays.useLegacyMergeSort=true