Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
New
Description
Spinoff from LUCENE-1526.
When deleteDocuments(Term) is called, we currently always buffer the
Term and only later, when it's time to flush deletes, resolve to
docIDs. This is necessary because we don't in general hold
SegmentReaders open.
But, when IndexWriter is in NRT mode, we pool the readers, and so
deleting in the foreground is possible.
It's also beneficial, in that in can reduce the turnaround time when
reopening a new NRT reader by taking this resolution off the reopen
path. And if multiple threads are used to do the deletion, then we
gain concurrency, vs reopen which is not concurrent when flushing the
deletes.