[ 
https://issues.apache.org/jira/browse/SOLR-6156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14063390#comment-14063390
 ] 

Modassar Ather commented on SOLR-6156:
--------------------------------------

While debugging found that the create() method under SearchGroupsFieldCommand 
class return an empty list of collectors if topNGroups < 0 and if 
includeGroupCount is false.
And if the collectors list is empty CommandHandler class invokes 
searchWithTimeLimiter(query, filter, null);. null is passed as collectors.

With the null collector passed an instance of TimeLimitingCollector is created 
in searchWithTimeLimiter(...) method of CommandHandler class if 
queryCommand.getTimeAllowed() > 0.

Code snippet from CommandHandler. Here in the code below the collector passed 
to TimeLimitingCollector is null.
if (queryCommand.getTimeAllowed() > 0 ) {
      collector = new TimeLimitingCollector(collector, 
TimeLimitingCollector.getGlobalCounter(), queryCommand.getTimeAllowed());
    }

The NullPointerException occurrs when the TimeLimitingCollector instance 
created with null collector invokes setNextReader(...)

Not sure if topNGroups should be greater than 0 or includeGroupCount should be 
true when using timeAllowed or it is an issue. Kindly provide inputs.
Also let me know if the collectors list is null and timeAllowed>0 which 
collector can be used to create the instance of TimeLimitingCollector.

Thanks,
Modassar

> Exception while using group with timeAllowed on SolrCloud.
> ----------------------------------------------------------
>
>                 Key: SOLR-6156
>                 URL: https://issues.apache.org/jira/browse/SOLR-6156
>             Project: Solr
>          Issue Type: Bug
>            Reporter: Modassar Ather
>
> Following exception is thrown when using grouping with timeAllowed. Solr 
> version used is 4.8.0.
> SEVERE: 
> null:org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: 
> java.lang.NullPointerException
>         at 
> org.apache.lucene.search.TimeLimitingCollector.setNextReader(TimeLimitingCollector.java:158)
>         at 
> org.apache.lucene.search.MultiCollector.setNextReader(MultiCollector.java:113)
>         at 
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:612)
>         at 
> org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:297)
>         at 
> org.apache.solr.search.grouping.CommandHandler.searchWithTimeLimiter(CommandHandler.java:219)
>         at 
> org.apache.solr.search.grouping.CommandHandler.execute(CommandHandler.java:156)
>         at 
> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:338)
>         at 
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
>         at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
>         at org.apache.solr.core.SolrCore.execute(SolrCore.java:1952)
>         at 
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:774)
>         at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418)
>         at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
>  



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to