Hello, We are trying to update Solr from 8.3.1 to 8.6.3. On Solr 8.3.1 we are using LTR in production using a MultipleAdditiveTrees model. On Solr 8.6.3 we receive an error when we try to compute some SolrFeatures. We didn't find any pattern of the queries that fail. Example: We have the following query raw parameters: q=lg cx 4k oled 120 hz -> just of many examples term_dq=lg cx 4k oled 120 hz rq={!ltr model=model reRankDocs=1000 store=feature_store efi.term=${term_dq}} defType=edismax, mm=2<75% The features are something like this: { "name":"similarity_query_fileld_1", "class":"org.apache.solr.ltr.feature.SolrFeature", "params":{"q":"{!dismax qf=query_field_1 mm=1}${term}"}, "store":"feature_store" }, { "name":"similarity_query_field_2", "class":"org.apache.solr.ltr.feature.SolrFeature", "params":{"q":"{!dismax qf=query_field_2 mm=5}${term}"}, "store":"feature_store" }
We are testing ~6300 production queries and for about 1% of them we receive that following error message: "metadata":[ "error-class","org.apache.solr.common.SolrException", "root-error-class","java.lang.ArrayIndexOutOfBoundsException"], "msg":"java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2", The stacktrace is : org.apache.solr.common.SolrException: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2 at org.apache.solr.search.ReRankCollector.topDocs(ReRankCollector.java:154) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1599) at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1413) at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:596) at org.apache.solr.handler.component.QueryComponent.doProcessUngroupedSearch(QueryComponent.java:1513) at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:403) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:360) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:214) at org.apache.solr.core.SolrCore.execute(SolrCore.java:2627) at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:795) at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:568) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:415) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:345) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1596) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1300) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1215) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221) at org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:177) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:500) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2 at org.apache.lucene.search.DisiPriorityQueue.add(DisiPriorityQueue.java:102) at org.apache.lucene.search.MinShouldMatchSumScorer.advanceTail(MinShouldMatchSumScorer.java:246) at org.apache.lucene.search.MinShouldMatchSumScorer.updateFreq(MinShouldMatchSumScorer.java:312) at org.apache.lucene.search.MinShouldMatchSumScorer.score(MinShouldMatchSumScorer.java:320) at org.apache.solr.ltr.feature.SolrFeature$SolrFeatureWeight$SolrFeatureScorer.score(SolrFeature.java:242) at org.apache.solr.ltr.LTRScoringQuery$ModelWeight$ModelScorer$SparseModelScorer.score(LTRScoringQuery.java:595) at org.apache.solr.ltr.LTRScoringQuery$ModelWeight$ModelScorer.score(LTRScoringQuery.java:540) at org.apache.solr.ltr.LTRRescorer.scoreFeatures(LTRRescorer.java:183) at org.apache.solr.ltr.LTRRescorer.rescore(LTRRescorer.java:122) at org.apache.solr.search.ReRankCollector.topDocs(ReRankCollector.java:119) We've searched the mailings lists and issues tracker and we didn't find any bug opened. Could you please give us a hint of what we can do to fix this? Thanks, Florin Babes