Type: New Feature
Affects Version/s: None
Fix Version/s: 2.4
Lucene Fields:New, Patch Available
I have a server where a bunch of threads are handling search requests. I
have a another process that updates the index used by the search server and
that asks the searcher server to reopen its index reader after the updates
When I reopen() the index reader, I also close the old one (if the reopen()
yielded a new instance). This causes problems for the other threads that
are currently in the middle of a search request.
I'd like to propose the addition of two methods, acquire() and release()
(attached to this bug report), that increment/decrement the ref count that IndexReader
instances currently maintain for related purposes. That ref count prevents
the index reader from being actually closed until it reaches zero.
My server's search threads, thus acquiring and releasing the index reader
can be sure that the index reader they're currently using is good until
they're done with the current request, ie, until they release() it.