[
https://issues.apache.org/jira/browse/SOLR-11009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yuki Yano updated SOLR-11009:
-----------------------------
Attachment: SOLR-11009.patch
> FacetModule throws NullPointerException when all shard requests fail with
> shards.tolerant=true
> ----------------------------------------------------------------------------------------------
>
> Key: SOLR-11009
> URL: https://issues.apache.org/jira/browse/SOLR-11009
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Components: Facet Module
> Affects Versions: 6.6
> Reporter: Yuki Yano
> Attachments: SOLR-11009.patch
>
>
> FacetModule uses FacetMerger.Context for preserving the information of shards
> during the distributed search. This context is created as null first, and
> will be initialized when the first response is returned from one of shards.
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.6.0/solr/core/src/java/org/apache/solr/search/facet/FacetModule.java#L280
> If shards.tolerant=true is set as the request, this initializing code may not
> be called if shard returns some errors. Therefore, if all shards fail to get
> results, the context will remain null.
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.6.0/solr/core/src/java/org/apache/solr/search/facet/FacetModule.java#L275
> After that, in the STAGE_GET_FIELDS phase, FacetModule checks if there are
> any refinements possible by using the context. Unfortunately, because the
> context can be null as noted above, this check may end with
> NullPointerException.
> https://github.com/apache/lucene-solr/blob/releases/lucene-solr/6.6.0/solr/core/src/java/org/apache/solr/search/facet/FacetModule.java#L183
> You can reproduced this error by following steps.
> 1. set socketTimeout of shardHandlerFactory to very short (for example, 10ms).
> 2. do facet search with shards.tolerant=true
> The solution is very simple, just add null check before touching the context.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]