[
https://issues.apache.org/jira/browse/LUCENE-2637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907573#action_12907573
]
Uwe Schindler commented on LUCENE-2637:
---------------------------------------
I have still the question, why do we do NIO-based optimizations in FSDir and
only if *both* the given DataInput and this both are
NIOFSIndexInput/NIOFSIndexOutput, so limit it only to the case when both
involved directories are NIO. So I would move the optmization (in another
issue) to NIOFSDir, and do a check "if input instanceof NIOFSIndexInput", in
all other cases call super?
I was also against the original Directory.copy() method using NIO. NIO should
only be used in NIOFSDir, nowhere else. I am not sure what happens with
MMapDirectory when used that way, mixed together with possibly other IndexInput
types.
> FSDirectory.copyBytes isn't safe for SimpleFSDirectory
> ------------------------------------------------------
>
> Key: LUCENE-2637
> URL: https://issues.apache.org/jira/browse/LUCENE-2637
> Project: Lucene - Java
> Issue Type: Bug
> Components: Tests
> Affects Versions: 3.1, 4.0
> Reporter: Robert Muir
> Assignee: Robert Muir
> Attachments: LUCENE-2637.patch, LUCENE-2637.patch
>
>
> the copyBytes optimization from LUCENE-2574 is not safe for
> SimpleFSDirectory, but works fine for NIOFSDirectory.
> With SimpleFSDirectory, the copyBytes optimization causes index corruption.
> see
> http://www.lucidimagination.com/search/document/36d2dbfc691909d5/bug_triggered_by_testindexwriter_testrandomstoredfields
> for background
> here are my steps to reproduce (most of the time, at least on windows):
> {noformat}
> 1. edit line 87 of TestIndexWriter to plugin the seed:
> random = newRandom(3312389322103990899L);
> 2. edit line 5138 of TestIndexWriter to force SimpleFSDirectory:
> Directory dir = new SimpleFSDirectory(index);
> 3. run this command:
> ant clean test-core -Dtestcase=TestIndexWriter
> -Dtestmethod=testRandomStoredFields -Dtests.iter=10
> -Dtests.codec="MockVariableIntBlock(29)"
> {noformat}
--
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]