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

Tomás Fernández Löbbe commented on SOLR-6864:
---------------------------------------------

I think this is not a seed issue, it's a race condition. It never failed on my 
mac after hundreds of iterations, It did (with this seed and others) fail in 
other hosts where I ran the tests. 
Adding some sleep time in the mock listeners I can reproduce it on my mac. I'll 
commit a fix shortly

> 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
>             Fix For: 5.0, Trunk
>
>         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