[
https://issues.apache.org/jira/browse/LUCENE-1401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633662#action_12633662
]
Michael McCandless commented on LUCENE-1401:
--------------------------------------------
Achieving the migration from autoCommit=true to autoCommit=false is somewhat
tricky. As things stand now, all ctors that don't take autoCommit param still
default autoCommit to true.
Maybe we could flip the autoCommit default to false, now, with the new ctors
(the ones that take a MaxFieldLength). This may be better since you have to
explicitly update your code, anyway, to switch to IndexWriter's new ctors and
so if we call this change out in the javadocs, users are more likely to catch
it. Whereas if we suddenly flip the default for autoCommit to false in 3.0,
since there's no API signature change, users may not realize this had happened.
OK I like that approach better. Are there any objections?
bq. But there are new constructors with this "IndexWriter.MaxFieldLength mfl"
in it, that appear new in 2.4 but are deprecated
I agree: we should not introduce new deprecated ctors. I'll eliminate these.
This happened because there were two separate changes (addition of
MaxFieldLength, and, deprecation of autoCommit).
> Deprecation of autoCommit in 2.4 leads to compile problems, when autoCommit
> should be false
> -------------------------------------------------------------------------------------------
>
> Key: LUCENE-1401
> URL: https://issues.apache.org/jira/browse/LUCENE-1401
> Project: Lucene - Java
> Issue Type: Bug
> Components: Index
> Affects Versions: 2.4, 2.9
> Reporter: Uwe Schindler
> Priority: Trivial
> Fix For: 2.4, 2.9
>
>
> I am currently changing my code to be most compatible with 2.4. I switched on
> deprecation warnings and got a warning about the autoCommit parameter in
> IndexWriter constructors.
> My code *should* use autoCommit=false, so I want to use the new semantics.
> The default of IndexWriter is still autoCommit=true. My problem now: How to
> disable autoCommit whithout deprecation warnings?
> Maybe, the "old" constructors, that are deprecated should use
> autoCommit=true. But there are new constructors with this
> "IndexWriter.MaxFieldLength mfl" in it, that appear new in 2.4 but are
> deprecated:
> IndexWriter(Directory d, boolean autoCommit, Analyzer a, boolean create,
> IndexDeletionPolicy deletionPolicy, IndexWriter.MaxFieldLength mfl)
> Deprecated. This will be removed in 3.0, when autoCommit will be
> hardwired to false. Use
> IndexWriter(Directory,Analyzer,boolean,IndexDeletionPolicy,MaxFieldLength)
> instead, and call commit() when needed.
> What the hell is meant by this, a new constructor that is deprecated? And the
> hint is wrong. If I use the other constructor in the warning, I get
> autoCommit=true.
> There is something completely wrong.
> It should be clear, which constructors set autoCommit=true, which set it per
> default to false (perhaps new ones), and the Deprecated text is wrong, if
> autoCommit does not default to false.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]