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

NullPointerException in org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:667)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 9.0
    • None
    • None

    Description

      Requesting the following URL causes Solr to return an HTTP 500 error response:

      http://localhost:8983/solr/films/select?q={!parent%20fq={!collapse%20field=id}&rentDocument}
      

      The error response seems to be caused by the following uncaught exception:

      ERROR (qtp689401025-21) [   x:films] o.a.s.s.HttpSolrCall null:java.lang.NullPointerException
      	at org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:667)
      	at org.apache.lucene.search.join.QueryBitSetProducer.getBitSet(QueryBitSetProducer.java:73)
      	at org.apache.solr.search.join.BlockJoinParentQParser$BitDocIdSetFilterWrapper.getDocIdSet(BlockJoinParentQParser.java:135)
      	at org.apache.solr.search.SolrConstantScoreQuery$ConstantWeight.scorer(SolrConstantScoreQuery.java:99)
      	at org.apache.lucene.search.Weight.bulkScorer(Weight.java:177)
      	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:649)
      	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:443)
      	at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:200)
      	at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1604)
      	at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1420)
      	at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:567)
      	at org.apache.solr.handler.component.QueryComponent.doProcessUngroupedSearch(QueryComponent.java:1434)
      	at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:373)
      	at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:298)
      	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)
      	at org.apache.solr.core.SolrCore.execute(SolrCore.java:2559)
      	at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:711)
      	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:516)
      	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:394)
      	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:340)
      	[...]
      

      In org/apache/lucene/search/join/QueryBitSetProducer.java[73] there is called
      method 'org.apache.lucene.search.IndexSearcher.rewrite' with null value stored
      in the member 'query'. Inside the called method there is method 'rewrite' on the
      accepted argument.

      The member 'query' of QueryBitSetProducer is initialised only once (i.e. only for
      the first query issued; for subsequent queries it is not created again) from
      'org.apache.solr.search.join.BlockJoinParentQParser.getCachedFilter'
      (org/apache/solr/search/join/BlockJoinParentQParser.java[98]), where is
      called 'createParentFilter' with null.

      ---------------------------
      We found this bug using Diffblue Microservices Testing. Find more information on this fuzz testing campaign.

      Attachments

        1. home.zip
          376 kB
          Marek

        Issue Links

          Activity

            People

              Unassigned Unassigned
              marek.trtik Marek
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 10m
                  10m