lucene-dev mailing list archives

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


Earwin Burrfoot commented on LUCENE-2960:

bq. Furthermore, closing the IW also forces you to commit, and I don't like tying changing
of configuration to forcing a commit.
Like I said, one isn't going to change his configuration five times a second. It's ok to commit
from time to time?

bq. So why should we force it to be unchangeable? That can only remove freedom, freedom that
is perhaps valuable to an app somewhere.
Each and every live reconfigurable setting adds to complexity.
At the very least it requires proper synchronization. Take your SegmentWarmer example - you
should make the field volatile.
While it's possible to chicken out on primitive fields ([except long/double|]),
as Yonik mentioned earlier, making nonvolatile mutable references introduces you to a world
of hard-to-catch unsafe publication bugs (yes, infoStream is currently broken!).
For more complex cases, certain on-change logic is required. And then you have to support
this logic across all possible code rewrites and refactorings.

> 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