Re: NRT getReader turnaround on large segments

2009-05-29 Thread Michael McCandless
On Thu, May 28, 2009 at 4:59 PM, Yonik Seeley yo...@lucidimagination.com wrote: On Thu, May 28, 2009 at 4:18 PM, Michael McCandless luc...@mikemccandless.com wrote: Newly added docs are still free to make new segments, and be reopened, while this warming is taking place. So, getReader() will

NRT getReader turnaround on large segments

2009-05-28 Thread Jason Rutherglen
An interesting discussion came up. How do we handle IW.getReader turnaround time on large new segments?

Re: NRT getReader turnaround on large segments

2009-05-28 Thread Michael McCandless
This is exactly why we added IndexReaderWarmer -- it pre-warms a newly merged segment before committing to SegmentInfos. So, while such warming is happening, if getReader() is called, the returned reader will still read the old segments. Mike On Thu, May 28, 2009 at 3:06 PM, Jason Rutherglen

Re: NRT getReader turnaround on large segments

2009-05-28 Thread Jason Rutherglen
And warming a segment in mergeMiddle doesn't block the addition of new segments. On Thu, May 28, 2009 at 12:30 PM, Michael McCandless luc...@mikemccandless.com wrote: This is exactly why we added IndexReaderWarmer -- it pre-warms a newly merged segment before committing to SegmentInfos. So,

Re: NRT getReader turnaround on large segments

2009-05-28 Thread Michael McCandless
Right. If you play w/ this please report back on how it goes! Mike On Thu, May 28, 2009 at 3:38 PM, Jason Rutherglen jason.rutherg...@gmail.com wrote: And warming a segment in mergeMiddle doesn't block the addition of new segments. On Thu, May 28, 2009 at 12:30 PM, Michael McCandless

Re: NRT getReader turnaround on large segments

2009-05-28 Thread Jason Rutherglen
Also important to note that only with ConcurrentMergeScheduler will the segmentReader warming occur in the background. When using SerialMergeScheduler, the warming will happen in the foreground. On Thu, May 28, 2009 at 12:40 PM, Michael McCandless luc...@mikemccandless.com wrote: Right. If

Re: NRT getReader turnaround on large segments

2009-05-28 Thread Yonik Seeley
On Thu, May 28, 2009 at 3:30 PM, Michael McCandless luc...@mikemccandless.com wrote: This is exactly why we added IndexReaderWarmer -- it pre-warms a newly merged segment before committing to SegmentInfos. So, while such warming is happening, if getReader() is called, the returned reader will

Re: NRT getReader turnaround on large segments

2009-05-28 Thread Michael McCandless
Newly added docs are still free to make new segments, and be reopened, while this warming is taking place. So, getReader() will wait for newly added/deleted docs to be flushed reopened, but will not wait for any running merges to complete (finish writing the files finish warming a SegmentReader

Re: NRT getReader turnaround on large segments

2009-05-28 Thread Yonik Seeley
On Thu, May 28, 2009 at 4:18 PM, Michael McCandless luc...@mikemccandless.com wrote: Newly added docs are still free to make new segments, and be reopened, while this warming is taking place. So, getReader() will wait for newly added/deleted docs to be flushed reopened, but will not wait for