I think it'd be interesting to see how much better this is and in what kinds of 
scenarios it makes things faster, so if this is going to be separate from 
IndexWriter, why not try it.

Otis 

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simpy -- http://www.simpy.com/  -  Tag  -  Search  -  Share

----- Original Message ----
From: Ning Li <[EMAIL PROTECTED]>
To: java-dev@lucene.apache.org
Sent: Friday, March 2, 2007 5:44:55 PM
Subject: Re: Concurrent merge

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]





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

Reply via email to