Solr fails to start if QueryElevationComponent config is missing
----------------------------------------------------------------
Key: SOLR-1730
URL: https://issues.apache.org/jira/browse/SOLR-1730
Project: Solr
Issue Type: Bug
Components: SearchComponents - other
Affects Versions: 1.4
Reporter: Mark Miller
Fix For: 1.5
QueryElevationComponent tries to do preload some data if its config file does
not exist:
{code}
if (!exists){
// preload the first data
RefCounted<SolrIndexSearcher> searchHolder = null;
try {
searchHolder = core.getNewestSearcher(false);
IndexReader reader = searchHolder.get().getReader();
getElevationMap( reader, core );
} finally {
if (searchHolder != null) searchHolder.decref();
}
}
{code}
This does not work though, as asking for the newest searcher causes a request
to be submitted to Solr before its ready to handle it:
{code}
[java] SEVERE: java.lang.NullPointerException
[java] at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173)
[java] at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
[java] at org.apache.solr.core.SolrCore.execute(SolrCore.java:1317)
[java] at
org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:52)
[java] at org.apache.solr.core.SolrCore$3.call(SolrCore.java:1147)
[java] at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
[java] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
{code}
The SearchHandler has not yet been core informed (as the
QueryElevationComponent causes this as its getting core informed right before
the SearchHandler) and so its components arraylist is still null.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.