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

Post filter DelegatingCollector.finish not called for multi-shard queries specifying grouping

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 4.8, 5.2.1
    • None
    • search
    • None

    Description

      The finish method for a DelegatingCollector post filter is not being called for queries specifying a fq filter, multiple shards, and grouping options.

      Recommend adding the following code to org.apache.solr.search.grouping.CommandHandler.searchWithTimeLimiter to call finish (if a DelegatingCollector is available) after calling search, but before obtaining totalHitCount:

      org.apache.solr.search.grouping.CommandHandler line ~218
          try {
            searcher.search(query, luceneFilter, collector);
          } catch (TimeLimitingCollector.TimeExceededException x) {
            partialResults = true;
            logger.warn( "Query: " + query + "; " + x.getMessage() );
          }
      
          /* Call finish of DelegatingCollector to complete post processing
             for multi-shard queries */
          if (filter.postFilter != null) {
            filter.postFilter.finish();
          }
          /* END: Call finish of DelegatingCollector to complete post processing
             for multi-shard queries */
      
          if (includeHitCount) {
            totalHitCount = hitCountCollector.getTotalHits();
          }
      

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            ebwweb Eric Wheeler

            Dates

              Created:
              Updated:

              Slack

                Issue deployment