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

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 6.6.2
    • 7.5, 8.0
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: