Hi all, I am a bit confused with IndexSearcher refresh lifecycles... In a master slave setup, I override postCommit listener on slave (solr trunk version) to read some user information stored in userCommitData on master
---------- @Override public final void postCommit() { // This returnes "stale" information that was present before replication finished RefCounted<SolrIndexSearcher> refC = core.getNewestSearcher(true); Map<String, String> userData = refC.get().getIndexReader().getIndexCommit().getUserData(); } ------------ I expected core.getNewestSearcher(true); to return refreshed SolrIndexSearcher, but it didn't When is this information going to be refreshed to the status from the replicated index, I repeat this is postCommit listener? What is the way to get the information from the last commit point? Maybe like this? core.getDeletionPolicy().getLatestCommit().getUserData(); Or I need to explicitly open new searcher (isn't solr does this behind the scenes?) core.openNewSearcher(false, false) Not critical, reopening new searcher works, but I would like to understand these lifecycles, when solr loads latest commit point... Thanks, eks