Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-6660

Assertion fails for ToParentBlockJoinQuery$BlockJoinScorer.nextDoc

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.2.1
    • None
    • core/search
    • None
    • Running Solr 5.2.1 on Windows x64
      java version "1.7.0_51"
      Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
      Java HotSpot(TM) Client VM (build 24.51-b03, mixed mode, sharing)

    Description

      After I enable assertion with "-ea:org.apache..." I got the stack trace below. I checked that the parent filter only match parent documents and the child filter only match child documents. Field "id" is unique.

      16:55:06,269 ERROR [org.apache.solr.servlet.SolrDispatchFilter] (http-127.0.0.1/127.0.0.1:8080-1) null:java.lang.RuntimeException: java.lang.AssertionError
      at org.apache.solr.servlet.HttpSolrCall.sendError(HttpSolrCall.java:593)
      at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:465)
      at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227)
      at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:559)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
      at java.lang.Thread.run(Thread.java:744)
      Caused by: java.lang.AssertionError
      at org.apache.lucene.search.join.ToParentBlockJoinQuery$BlockJoinScorer.nextDoc(ToParentBlockJoinQuery.java:278)
      at org.apache.lucene.search.Weight$DefaultBulkScorer.scoreAll(Weight.java:204)
      at org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:176)
      at org.apache.lucene.search.BulkScorer.score(BulkScorer.java:35)
      at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:771)
      at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:485)
      at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:202)
      at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1666)
      at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1485)
      at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:561)
      at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:518)
      at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:255)
      at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
      at org.apache.solr.core.SolrCore.execute(SolrCore.java:2064)
      at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:654)
      at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:450)
      ... 16 more

      Without assertions enabled:
      17:21:39,008 ERROR [org.apache.solr.servlet.SolrDispatchFilter] (http-127.0.0.1/127.0.0.1:8080-1) null:java.lang.IllegalStateException: child query must only match non-parent docs, but parent docID=2147483647 matched childScorer=class org.apache.lucene.search.ConjunctionScorer
      at org.apache.lucene.search.join.ToParentBlockJoinQuery$BlockJoinScorer.nextDoc(ToParentBlockJoinQuery.java:334)

      Attachments

        1. LUCENE-6660.patch
          9 kB
          Mikhail Khludnev
        2. index.zip
          40 kB
          Christian Danninger

        Issue Links

          Activity

            People

              mkhl Mikhail Khludnev
              cdanningerCV Christian Danninger
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: