lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Koji Sekiguchi (JIRA)" <j...@apache.org>
Subject [jira] Created: (SOLR-2425) firstSearcher Listener of SpellChecker can be never called
Date Mon, 14 Mar 2011 01:43:29 GMT
firstSearcher Listener of SpellChecker can be never called
----------------------------------------------------------

                 Key: SOLR-2425
                 URL: https://issues.apache.org/jira/browse/SOLR-2425
             Project: Solr
          Issue Type: Bug
          Components: spellchecker
    Affects Versions: 1.4.1, 3.1, 4.0
            Reporter: Koji Sekiguchi
            Priority: Minor


mail thread:
http://www.lucidimagination.com/search/document/65e73468958faf09/known_problem_firstsearcher_event_of_spellchecker_is_never_called

firstSearcher Listener of SpellChecker is never called when there is no <listener event="firstSearcher"/>
registered in solrconfig.xml.

The reason is because the sequence of procedures in SolrCore constructor:

# initListeners();
# getSearcher(false,false,null); => register (general) firstSearcher listener if it exists
# call SolrCoreAware.inform(); => register SpellChecker's firstSearcher listener

After that, Callable.call() is called to execute the firstSearcher event:

{code}
if (currSearcher==null && firstSearcherListeners.size() > 0) {
  future = searcherExecutor.submit(
          new Callable() {
            public Object call() throws Exception {
              try {
                for (SolrEventListener listener : firstSearcherListeners) {
                  listener.newSearcher(newSearcher,null);
                }
              } catch (Throwable e) {
                SolrException.logOnce(log,null,e);
              }
              return null;
            }
          }
  );
}
{code}

At the time, firstSearcherListeners includes SpellChecker's firstSearcherListner, registered
by procedure 3 above. But if you have no <listener event="firstSearcher"/> registered
in solrconfig.xml, at the procedure 2, searcherExecutor.submit() is never called because firstSearcherListeners.size()
is zero at the moment.


--
This message is automatically generated by JIRA.
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