lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (Commented) (JIRA)" <>
Subject [jira] [Commented] (SOLR-2803) NPE in FacetComponent
Date Tue, 15 Nov 2011 23:55:51 GMT


Hoss Man commented on SOLR-2803:

I'm more then a tad confused by this issue..

The first thing that jumps out at me is that the issue summary (and paths attached patch)
suggest that this problem was encountered against Solr 3.4, but the example URL is doing a
distrubuted query against multiple shards using date faceting -- distributed support for date
faceting didn't exist in Solr 3.4, and still doesn't exist anywhere on the 3x branch, it is
only on trunk (see SOLR-1709).  So I'm not really sure what the point of this example URL
is at all? even w/o the NPE it doesn't seem like it will do anything useful.

That lead me to suspect that perhaps there was a glitch in the 3x faceting code, where requesting
"facet=true" on a distributed query, w/o any facet fields might cause shards to return empty
facet results, which might lead to the NPE in question.  But when I did some adhoc testing
of this using Solr 3.4, I couldn't reproduce.  facet=true with no faceting, facet=true with
date faceting but only one shard has docs using that date field, etc... none of the situations
i could think of would cause this problem of the bitset not being initialized.

I then tried all of these sorts of adhoc testing again using trunk (where distributed date
faceting is supported) and i still couldn't reproduce the failure.

Fi: exactly which version of Solr are you using?  is it the same on every shard? if it is
a 3x version what exactly is the behavior you are expecting/getting with the date faceting
(even after your work-around patch) .. w/o this patch did you get the failure consistently?
can you post the details of what requests get logged on each of your shards when executing
one of these queries that fails and what those individual shards return when you execute those
logged queries against them manually?

> NPE in FacetComponent
> ---------------------
>                 Key: SOLR-2803
>                 URL:
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 3.3, 3.4
>            Reporter: Fi
>              Labels: patch
>             Fix For: 3.4
>         Attachments: FacetComponent.patch
>   Original Estimate: 10m
>  Remaining Estimate: 10m
> On a call to my multicore setup (with 'activity' being one of my cores):
> /solr/activity/select/?q=*:*&fq=bucket:1000&fq=dma:%22Albuquerque%22&version=2.2&start=0&rows=0&facet=on&
> I get a NPE in the FacetComponent patch.
> SEVERE: java.lang.NullPointerException
>         at org.apache.solr.handler.component.FacetComponent.countFacets(
>         at org.apache.solr.handler.component.FacetComponent.handleResponses(
>         at org.apache.solr.handler.component.SearchHandler.handleRequestBody(
>         at org.apache.solr.handler.RequestHandlerBase.handleRequest(
>         at org.apache.solr.core.SolrCore.execute(
>         at org.apache.solr.servlet.SolrDispatchFilter.execute(
>         at org.apache.solr.servlet.SolrDispatchFilter.doFilter(
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
>         at org.apache.catalina.core.StandardWrapperValve.invoke(
>         at org.apache.catalina.core.StandardContextValve.invoke(
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
>         at org.apache.catalina.core.StandardHostValve.invoke(
>         at org.apache.catalina.valves.ErrorReportValve.invoke(
>         at org.apache.catalina.valves.AccessLogValve.invoke(
>         at org.apache.catalina.core.StandardEngineValve.invoke(
>         at org.apache.catalina.connector.CoyoteAdapter.service(
>         at org.apache.coyote.http11.Http11Processor.process(
>         at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
>         at$
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
>         at java.util.concurrent.ThreadPoolExecutor$
>         at
> With a 500 error response.
> Here is the qt=grid RequestHandler definition in the solrconfig.xml
>   <requestHandler name="grid" class="solr.SearchHandler">
>     <lst name="defaults">
>        <str name="echoParams">explicit</str>
>        <int name="rows">10</int>
>        <str name="shards">,,,,,,,,,,,,,,,</str>
>     </lst>
>   </requestHandler>

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


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

View raw message