lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shay Banon <>
Subject Re: IndexWriter#setRAMBufferSizeMB removed in trunk
Date Thu, 10 Mar 2011 12:41:57 GMT
I am not sure that IndexWriterConfig is bad. Its nice to be able to set all the upfront configurations
in a single object and pass it to the IndexWriter. And, have the IndexWriter allow for specific
setters allowing for real time changes (those should not be done through the IndexWriterConfig).

The question is which real time changes are allowed or not. The fact that they are separated
(IndexWriterConfig, and real time setters) is good since it allows to distinguish between
what can be set when setting up an IndexWriter, compared to what can be set in real time.
We did not have this distinction before the IndexWriterConfig was introduced.

This open the door for optimizations for things that can only be set when constructing an
IndexWriter. Usually, supporting real time changes can hinder concurrency, while having parameters
that are basically immutable allows to optimize in this case.

On Thursday, March 10, 2011 at 2:28 PM, Robert Muir wrote:
On Thu, Mar 10, 2011 at 6:49 AM, Michael McCandless
> <> wrote:
> > Can you open an issue? Make sure it's marked fix 4.0/3.2! Thanks.
> I'm not sure we should handle it this way: I really don't like
> deprecation in one release and undeprecation in another.
> So, I think we should open an issue for 3.1 and figure out if we want
> to do this for setters at all.
> If we decide to start moving setters out of IndexWriterConfig, then we
> need to start asking very hard questions about IndexWriterConfig as a
> whole, because I think it will be confusing if IndexWriter has two
> separate configuration APIs.
> This should block the release: if IndexWriterConfig is a broken design
> then we need to revert this now before its released, not make users
> switch over and then undeprecate/revert in a future release.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

View raw message