[
https://issues.apache.org/jira/browse/LUCENE-2386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12855344#action_12855344
]
Shai Erera commented on LUCENE-2386:
------------------------------------
Ok I've added the following to DirReader:
{code}
try {
latest.read(dir, codecs);
} catch (FileNotFoundException e) {
if (e.getMessage().startsWith("no segments* file found in")) {
// Might be that the Directory is empty, in which case just return an
// empty collection.
return Collections.emptyList();
} else {
throw e;
}
}
{code}
And now that test passes.
I'll continue discovering tests that fail ... probably backwards will have its
share too :).
> IndexWriter commits unnecessarily on fresh Directory
> ----------------------------------------------------
>
> Key: LUCENE-2386
> URL: https://issues.apache.org/jira/browse/LUCENE-2386
> Project: Lucene - Java
> Issue Type: Bug
> Components: Index
> Reporter: Shai Erera
> Assignee: Shai Erera
> Fix For: 3.1
>
> Attachments: LUCENE-2386.patch
>
>
> I've noticed IndexWriter's ctor commits a first commit (empty one) if a fresh
> Directory is passed, w/ OpenMode.CREATE or CREATE_OR_APPEND. This seems
> unnecessarily, and kind of brings back an autoCommit mode, in a strange way
> ... why do we need that commit? Do we really expect people to open an
> IndexReader on an empty Directory which they just passed to an IW w/
> create=true? If they want, they can simply call commit() right away on the IW
> they created.
> I ran into this when writing a test which committed N times, then compared
> the number of commits (via IndexReader.listCommits) and was surprised to see
> N+1 commits.
> Tried to change doCommit to false in IW ctor, but it got IndexFileDeleter
> jumping on me .. so the change might not be that simple. But I think it's
> manageable, so I'll try to attack it (and IFD specifically !) back :).
--
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]