lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1401) Deprecation of autoCommit in 2.4 leads to compile problems, when autoCommit should be false
Date Tue, 23 Sep 2008 09:41:44 GMT

    [ 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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message