lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Commented: (LUCENE-2960) Allow (or bring back) the ability to setRAMBufferSizeMB on an open IndexWriter
Date Fri, 11 Mar 2011 14:08:59 GMT


Michael McCandless commented on LUCENE-2960:

bq. As I said on the list - if one needs to change IW config, he can always recreate IW with
new settings.

That's not really true, in general.  If you have a large merge running
then closing the IW can take an unpredictable amount of time.  You
could abort the merges on close, but that's obviously not great.

Furthermore, closing the IW also forces you to commit, and I don't
like tying changing of configuration to forcing a commit.

In fact, it doesn't make sense to me to arbitrarily prevent settings
from being live, just because we've factored out IWC as a separate
class.  Many of these settings were "naturally" live before the IWC
cutover, and have no particular reason not to be (besides this API

We could also rollback the IWC change.  I'm not saying that's a great
option, but, it should be on the table.

InfoStream, for example, should remain live: eg, maybe I'm having
trouble w/ optimize, so, I turn on infoStream and then call optimize.

The flushing params (maxBufferedDocs/Deletes/RAM) should also remain
live, since we have a very real user/data point (Shay) relying on

But take MergedSegmentWarmer (used to be live but is now unchangeable).
This is a setting that obviously can easily remain live; there's no
technical reason for it not to be.  So why should we force it to be
unchangeable?  That can only remove freedom, freedom that is perhaps
valuable to an app somewhere.

> Allow (or bring back) the ability to setRAMBufferSizeMB on an open IndexWriter
> ------------------------------------------------------------------------------
>                 Key: LUCENE-2960
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>            Reporter: Shay Banon
>            Priority: Blocker
>             Fix For: 3.1, 4.0
> In 3.1 the ability to setRAMBufferSizeMB is deprecated, and removed in trunk. It would
be great to be able to control that on a live IndexWriter. Other possible two methods that
would be great to bring back are setTermIndexInterval and setReaderTermsIndexDivisor. Most
of the other setters can actually be set on the MergePolicy itself, so no need for setters
for those (I think).

This message is automatically generated by JIRA.
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message