lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <>
Subject [jira] Commented: (LUCENE-1401) Deprecation of autoCommit in 2.4 leads to compile problems, when autoCommit should be false
Date Wed, 24 Sep 2008 08:15:44 GMT


Uwe Schindler commented on LUCENE-1401:

This patch seems to work, the IndexWriters created by the MaxFieldLength ctors are with autocommit=false,
I have seen this, because the segment file does not change during indexing.

There is on small thing (was also there before your patch):
I use writer.setUseCompoundFile(true) to use compound files (which is also the default). It
generates normally always only CFS files (on index creation, when optimizing,...). There is
only one use case, when cfs and cfx files are generated:

- Use IndexWriter with create=true
- add documents to the index
- optimize the index (without closing in between)

After that the optimized index contains of one cfs and one cfx. During indexing (before optimization),
I always see only cfs files for new segments (and for short times as usual the contents tfx,...).

When optimizing the index after closing it or later after adding documents, i got only one
cfs file.

Two questions:
- Is this a small bug, which would be not release critical - but it is strange?
- How can I enable creation of doc store (cfx) and cfs always, I found nothing in the docs.
In my opinion the separate cfs/cfx files are good for search performance (right?).

> Deprecation of autoCommit in 2.4 leads to compile problems, when autoCommit should be
> -------------------------------------------------------------------------------------------
>                 Key: LUCENE-1401
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.4, 2.9
>            Reporter: Uwe Schindler
>            Assignee: Michael McCandless
>            Priority: Trivial
>             Fix For: 2.4, 2.9
>         Attachments: LUCENE-1401.patch
> 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:
For additional commands, e-mail:

View raw message