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 Tue, 15 Mar 2011 16:51:29 GMT


Michael McCandless commented on LUCENE-2960:

bq. Hmmm, infoStream is just for debugging... should we really make it volatile?

I'll remove its volatile...

bq. IWC cannot be made immutable – you build it up incrementally (new IWC(...).setThis(...).setThat(...)).
Its fields cannot be final.

Setters can return modified immutable copy of 'this'. So you get both incremental building
and immutability.

Oh yeah.  But then we'd clone the full IWC on every set... this seems
like overkill in the name of "purity".

What about earlier compromise mentioned by Shay, Mark, me? Keep setters for 'live' properties
on IW.
This clearly draws the line, and you don't have to consult Javadocs for each and every setting
to know if you can change it live or not.

I really don't like that this approach would split IW configuration
into two places.  Like you look at the javadocs for IWC and think that
you cannot change the RAM buffer size.

IWC should be the one place you go to see which settings you can
change about the IW.  That some of these settings take effect "live"
while others do not is really an orthogonal (and I think, secondary,
ie handled fine w/ jdocs) aspect/concern.

> 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
>         Attachments: LUCENE-2960.patch
> 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