// Reopen local reader public void Reopen() { IndexSearcher before = Mgr.Acquire(); Mgr.Release(before); Mgr.MaybeRefresh(); IndexSearcher after = Mgr.Acquire(); try { if (after != before) { // New searcher was opened long version = Searchers.Record(after); Searchers.Prune(new SearcherLifetimeManager.PruneByAge(outerInstance.maxSearcherAgeSeconds)); outerInstance.BroadcastNodeReopen(MyNodeID, version, after); } } finally { Mgr.Release(after); } }