Anna created SOLR-16972:
---------------------------

             Summary: java.lang.NullPointerException in ReRankScaler.explain
                 Key: SOLR-16972
                 URL: https://issues.apache.org/jira/browse/SOLR-16972
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
    Affects Versions: 9.3
            Reporter: Anna


When executing a re-rank query with the reRankMainScale or the reRankScale 
parameter, a 
java.lang.NullPointerException arises from the ReRankScaler.explain method 
(debug=true).
The re-rank query works and a set of documents is returned, it is only the 
debug part of the response that has problems
 
Request example:
{code:java}
curl 'http://localhost:8983/solr/mycollection/select?q=*:*&rq={!rerank 
reRankQuery=$rqq reRankScale=0-1}&rqq=myField:fieldValue1^=0.2&debug=true'  
{code}
 
Response:
{code:java}
"response": {
    "numFound": 3,
    "start": 0,
    "maxScore": 1.0,
    "numFoundExact": true,
    "docs": [
        {
            "id": "1",
            "score": 2.0
        },
        {
            "id": "2",
            "score": 2.0
        },
        { 
            "id": "6",
            "score": 1.0
        }
    ]
}, {code}
 
Trace:
{code:java}
"error": {
    "msg": "Cannot invoke \"java.util.Set.contains(Object)\" because 
\"this.reRankSet\" is null",
    "trace": "java.lang.NullPointerException: Cannot invoke 
\"java.util.Set.contains(Object)\" because \"this.reRankSet\" is null\n\tat 
org.apache.solr.search.ReRankScaler.explain(ReRankScaler.java:348)\n\tat 
org.apache.solr.search.ReRankWeight.explain(ReRankWeight.java:58)\n\tat 
org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:893)\n\tat 
org.apache.lucene.search.IndexSearcher.explain(IndexSearcher.java:869)\n\tat 
org.apache.solr.search.SolrIndexSearcher.explain(SolrIndexSearcher.java:2508)\n\tat
 
org.apache.solr.util.SolrPluginUtils.getExplanations(SolrPluginUtils.java:415)\n\tat
 
org.apache.solr.util.SolrPluginUtils.doStandardResultsDebug(SolrPluginUtils.java:348)\n\tat
 
org.apache.solr.util.SolrPluginUtils.doStandardDebug(SolrPluginUtils.java:315)\n\tat
 
org.apache.solr.handler.component.DebugComponent.process(DebugComponent.java:92)\n\tat
 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:432)\n\tat
 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:224)\n\tat
 org.apache.solr.core.SolrCore.execute(SolrCore.java:2893)\n\tat 
org.apache.solr.servlet.HttpSolrCall.executeCoreRequest(HttpSolrCall.java:871)\n\tat
 org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:567)\n\tat 
org.apache.solr.servlet.SolrDispatchFilter.dispatch(SolrDispatchFilter.java:250)\n\tat
 
org.apache.solr.servlet.SolrDispatchFilter.lambda$doFilter$0(SolrDispatchFilter.java:218)\n\tat
 
org.apache.solr.servlet.ServletUtils.traceHttpRequestExecution2(ServletUtils.java:257)\n\tat
 
org.apache.solr.servlet.ServletUtils.rateLimitRequest(ServletUtils.java:227)\n\tat
 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:213)\n\tat
 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:195)\n\tat
 org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210)\n\tat 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)\n\tat
 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)\n\tat
 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)\n\tat
 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1570)\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)\n\tat
 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)\n\tat
 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)\n\tat 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1543)\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)\n\tat
 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)\n\tat
 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)\n\tat
 
org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:228)\n\tat
 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)\n\tat
 
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301)\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)\n\tat
 
org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:822)\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)\n\tat
 org.eclipse.jetty.server.Server.handle(Server.java:563)\n\tat 
org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:505)\n\tat
 org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)\n\tat 
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)\n\tat 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)\n\tat
 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)\n\tat
 org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)\n\tat 
org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)\n\tat
 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)\n\tat
 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)\n\tat
 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)\n\tat
 java.base/java.lang.Thread.run(Thread.java:833)\n",
    "code": 500
} {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to