lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tomás Fernández Löbbe (JIRA) <j...@apache.org>
Subject [jira] [Updated] (SOLR-6864) Support registering searcher listeners in SolrCoreAware.inform(SolrCore) method
Date Wed, 17 Dec 2014 23:57:13 GMT

     [ https://issues.apache.org/jira/browse/SOLR-6864?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Tomás Fernández Löbbe updated SOLR-6864:
----------------------------------------
    Affects Version/s: Trunk
                       5.0

> Support registering searcher listeners in SolrCoreAware.inform(SolrCore) method
> -------------------------------------------------------------------------------
>
>                 Key: SOLR-6864
>                 URL: https://issues.apache.org/jira/browse/SOLR-6864
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 5.0, Trunk
>            Reporter: Tomás Fernández Löbbe
>            Assignee: Tomás Fernández Löbbe
>         Attachments: SOLR-6864.patch
>
>
> I'm marking this Jira as Bug because we already have components that do this (SuggestComponent
and SpellcheckComponent), however, listeners registered at this stage not always work.
> From https://issues.apache.org/jira/browse/SOLR-6845?focusedCommentId=14250350&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14250350
> {quote}
> Trying to add some unit tests to this feature I found another issue. SuggestComponent
and SpellcheckComponent rely on a {{firstSearcherListener}} to load (and in this case, also
build) some structures. These firstSearcherListeners are registered on {{SolrCoreAware.inform()}},
however the first searcher listener task is only added to the queue of warming tasks if there
is at least one listener registered at the time of the first searcher creation (before SolrCoreAware.inform()
is ever called). See 
> {code:title=SolrCore.java}
>         if (currSearcher == null && firstSearcherListeners.size() > 0) {
>           future = searcherExecutor.submit(new Callable() {
>             @Override
>             public Object call() throws Exception {
>               try {
>                 for (SolrEventListener listener : firstSearcherListeners) {
>                   listener.newSearcher(newSearcher, null);
>                 }
>               } catch (Throwable e) {
>                 SolrException.log(log, null, e);
>                 if (e instanceof Error) {
>                   throw (Error) e;
>                 }
>               }
>               return null;
>             }
>           });
>         }
> {code}
> I'll create a new Jira for this
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message