Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-11770

NPE in tvrh if no field is specified and document doesn't contain any fields with term vectors

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 6.6.2
    • Fix Version/s: 7.5, 8.0
    • Labels:
      None

      Description

      It looks like if tvrh request doesn't contain fl parameter and document doesn't have any fields with term vectors then Solr returns NPE.

      Request: tvrh?shards.qt=/tvrh&fq=field%3Avalue&wt=json&q=id%3A123&tv.tf=true.

      On our 'old' schema we had some fields with termVectors and even more fields with position data. In our new schema we tried to remove unused data so we dropped a lot of position data and some term vectors.

      Our documents are 'sparsely' populated - not all documents contain all fields.

      Above request was returning fine for our 'old' schema and returns 500 for our 'new' schema - on exactly same Solr (6.6.2).

      Stack trace:

      2017-12-18 01:15:00.958 ERROR (qtp255041198-46697) [c:test s:shard3 r:core_node11 x:test_shard3_replica1] o.a.s.h.RequestHandlerBase java.lang.NullPointerException
             at org.apache.solr.handler.component.TermVectorComponent.process(TermVectorComponent.java:324)
             at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:296)
             at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
             at org.apache.solr.core.SolrCore.execute(SolrCore.java:2482)
             at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
             at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:529)
             at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:361)
             at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:305)
             at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1691)
             at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
             at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
             at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
             at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
             at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
             at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
             at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
             at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
             at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
             at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
             at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
             at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
             at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
             at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
             at org.eclipse.jetty.server.Server.handle(Server.java:534)
             at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
             at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
             at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
             at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
             at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
             at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
             at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
             at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
             at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
             at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
             at java.lang.Thread.run(Thread.java:748)
      

        Attachments

        1. SOLR-11770.patch
          31 kB
          Erick Erickson
        2. SOLR-11770.patch
          31 kB
          Erick Erickson

          Issue Links

            Activity

              People

              • Assignee:
                erickerickson Erick Erickson
                Reporter:
                mar-kolya Nikolay Martynov
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: