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

ASF subversion and git services commented on SOLR-6864:
-------------------------------------------------------

Commit 1646577 from [~tomasflobbe] in branch 'dev/trunk'
[ https://svn.apache.org/r1646577 ]

SOLR-6864: Support registering searcher listeners in 
SolrCoreAware.inform(SolrCore) method

> 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-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to