lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Grant Ingersoll (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-1730) Solr fails to start if QueryElevationComponent config is missing
Date Wed, 07 Dec 2011 17:20:40 GMT

    [ https://issues.apache.org/jira/browse/SOLR-1730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13164537#comment-13164537
] 

Grant Ingersoll commented on SOLR-1730:
---------------------------------------

OK, so per IRC discussion w/ Mark and looking at the code, this exception actually causes
the core to fail to construct and be registered.

It seems to me, then, that the way forward is that if this is the only core (or would be the
only core) then Solr should fail and exit.  If there are other cores, it should log that the
core for XXXX cannot be created and then proceed.  One core failure should not cause the others
to be out of service.
                
> 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
>            Assignee: Grant Ingersoll
>              Labels: newdev
>             Fix For: 3.6, 4.0
>
>         Attachments: SOLR-1730.patch
>
>
> 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.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message