Post commit calls are made before a new searcher is opened.

Might be easier to try to hook in with a new searcher listener?

On Feb 21, 2012, at 8:23 AM, eks dev wrote:

> 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

- Mark Miller
lucidimagination.com











Reply via email to