lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marius Grama (JIRA)" <>
Subject [jira] [Commented] (SOLR-8851) ClassCastException in SearchHandler
Date Thu, 24 Mar 2016 08:15:25 GMT


Marius Grama commented on SOLR-8851:

The only place I see that ExitingReaderException is being thrown is in the {{ExitableDirectoryReader.ExitableTermsEnum}}

I could reproduce the {{ExitableDirectoryReader.ExitingReaderException}} in the class {{SearchHandler}}
by using the following query :


In this case, the call {{rb.rsp.getValues().get("response")}} returns {{null}} reason why
the variable {{r}} of type {{SolrDocumentList}} will be explicitly instantiated and the issue
reported by you doesn't occur.

On the other hand, I see in the {{QueryComponent}} class that an object instance of type {{ResultContext}}
is used  for "response"

    ResultContext ctx = new ResultContext(); = rb.getResults().docList;
    ctx.query = rb.getQuery();
    rsp.add("response", ctx);

, so the code line 293 is not quite correct : 

SolrDocumentList r = (SolrDocumentList) rb.rsp.getValues().get("response");

Could you give me a concrete solr query for reproducing the issue?

> ClassCastException in SearchHandler
> -----------------------------------
>                 Key: SOLR-8851
>                 URL:
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 5.4.1
>            Reporter: Pascal Chollet
> When there is a query timeout in non-distrub mode, {{SearchHandler}} is throwing a {{ClassCastException}}:
> {code}java.lang.ClassCastException: org.apache.solr.response.ResultContext cannot be
cast to org.apache.solr.common.SolrDocumentList
> 	at org.apache.solr.handler.component.SearchHandler.handleRequestBody(
> 	at org.apache.solr.handler.RequestHandlerBase.handleRequest(
> 	...{code}
> The problem can be reproduced if any component running after {{QueryComponent}} times
out - in our case it is {{FacetComponent}} which throws a {{ExitingReaderException}}.
> {{SearchHandler:293}} expects a {{SolrDocumentList}} in {{rsp.response}}, but {{QueryComponent}}
did add a {{ResultContext}} instead.
> It looks like this is not a problem, if the {{QueryComponent}} itself is timing out,
as rsp.response is null in that case. It's only a problem if a component after {{QueryComponent}}
is timing out.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message