Description
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
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
SolrCore.javaif (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; } }); }I'll create a new Jira for this