Summary
DataStax Enterprise 4.7 nodes running in Search mode fails to reload cores with a RuntimeException
when using the BlendedInfixLookupFactory
Suggester class.
Symptoms
An attempt to reload an existing core returns the following exception stack trace:
ERROR [http-8983-exec-3] 2015-06-12 20:05:54,143 SolrException.java:150 - org.apache.solr.common.SolrException at org.apache.solr.core.SolrCore.(SolrCore.java:906) ... Caused by: java.lang.RuntimeException at org.apache.solr.spelling.suggest.fst.BlendedInfixLookupFactory.create(BlendedInfixLookupFactory.java:127) at org.apache.solr.spelling.suggest.SolrSuggester.init(SolrSuggester.java:106) at org.apache.solr.handler.component.SuggestComponent.inform(SuggestComponent.java:113) at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:655) at org.apache.solr.core.SolrCore.(SolrCore.java:889) ...
Cause
The BlendedInfixLookupFactory
extends the AnalyzingInfixSuggester
class.
The issue is that when the core is reloaded, a new instance of AnalyzingInfixSuggester
is created which in turn creates a new writer on an existing directory but it cannot get a lock so Solr fails to reload the core (bug ID SOLR-6246).
Solution
At the time of writing, the defect in the open-source Solr has not been fixed and is not targetted until Solr version 5.2 (note that DSE 4.7 ships with Solr 4.10.3.0).
The BlendedInfixLookupFactory
class is still experimental as of Solr 4.10.3.0 and so our recommendation is to not use it until the defect is resolved in a future release.
See also
DataStax Enterprise 4.7 Release notes.
The BlendedInfixLookupFactory
class API documentation.
Defect - [SOLR-6246] "Core fails to reload when AnalyzingInfixSuggester is used as a Suggester".