mirror of https://github.com/apache/lucene.git
SOLR-15071: Fix ArrayIndexOutOfBoundsException in contrib/ltr SolrFeatureScorer (#2196)
This commit is contained in:
parent
fb88b0268a
commit
32e95ddb3f
|
@ -366,6 +366,9 @@ Bug Fixes
|
|||
|
||||
* SOLR-15073: Fix ClassCastException in SystemInfoHandler.getSecurityInfo. (Nikolay Ivanov, Christine Poerschke)
|
||||
|
||||
* SOLR-15071: Fix ArrayIndexOutOfBoundsException in contrib/ltr SolrFeatureScorer.
|
||||
(Florin Babes, Ovidiu Mihalcea, David Smiley, Christine Poerschke)
|
||||
|
||||
Other Changes
|
||||
---------------------
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ import org.apache.lucene.search.IndexSearcher;
|
|||
import org.apache.lucene.search.Query;
|
||||
import org.apache.lucene.search.QueryVisitor;
|
||||
import org.apache.lucene.search.Scorer;
|
||||
import org.apache.lucene.search.TwoPhaseIterator;
|
||||
import org.apache.lucene.search.Weight;
|
||||
import org.apache.lucene.util.Accountable;
|
||||
import org.apache.lucene.util.RamUsageEstimator;
|
||||
|
@ -365,10 +364,9 @@ public abstract class Feature extends Query implements Accountable {
|
|||
return in.iterator();
|
||||
}
|
||||
|
||||
@Override
|
||||
public TwoPhaseIterator twoPhaseIterator() {
|
||||
return in.twoPhaseIterator();
|
||||
}
|
||||
// Currently (Q1 2021) we intentionally don't delegate twoPhaseIterator()
|
||||
// because it doesn't always work and we don't yet know why, please see
|
||||
// SOLR-15071 for more details.
|
||||
|
||||
@Override
|
||||
public int advanceShallow(int target) throws IOException {
|
||||
|
|
|
@ -21,7 +21,6 @@ import org.apache.solr.ltr.TestRerankBase;
|
|||
import org.apache.solr.ltr.model.LinearModel;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
public class TestEdisMaxSolrFeature extends TestRerankBase {
|
||||
|
@ -75,7 +74,6 @@ public class TestEdisMaxSolrFeature extends TestRerankBase {
|
|||
assertJQ("/query" + query.toQueryString(), "/response/numFound/==4");
|
||||
}
|
||||
|
||||
@Ignore("SOLR-15071")
|
||||
@Test
|
||||
public void testEdisMaxSolrFeatureCustomMM() throws Exception {
|
||||
loadFeature(
|
||||
|
|
|
@ -30,6 +30,9 @@ public class TestFeature extends SolrTestCase {
|
|||
for (final Method scorerClassMethod : Scorer.class.getDeclaredMethods()) {
|
||||
try {
|
||||
|
||||
// the FilterFeatureScorer may simply inherit Scorer's default implementation
|
||||
if (scorerClassMethod.getName().equals("twoPhaseIterator")) continue;
|
||||
|
||||
// the FilterFeatureScorer's implementation does not influence its parent Weight
|
||||
if (scorerClassMethod.getName().equals("getWeight")) continue;
|
||||
|
||||
|
|
Loading…
Reference in New Issue