Many good points! Thanks, guys!

When background merge is employed, document additions can
out-pace merging, no matter how many background merge threads
are used. Blocking has to happen at some point.

So, if we do anything, we make it simple. I agree with what
Robert and Yonik have proposed: documents can be buffered
while segments are merged, but no more than maxBufferedDocs
can be buffered at any time.


Nadav asks a good question: if document additions can still
block, what is the point?

I see the following benefits:
1 Performance improvement to certain extent
2 Shorter ingestion hiccups: Especially when the ingestion
  rate is low, the hiccups can be very short. In the current
  single-threaded IndexWriter, the hiccups can be very long
  when a document ingestion triggers a cascade of merges.


Doron has a valid concern: Lucene's being single threaded is
a simplifying factor.

Agree. That's why I propose this as a subclass of IndexWriter,
not to replace the current single-threaded IndexWriter.


So, given this simple background merge design, are people
interested in the benefits it provides?

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to