You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Robert Muir (JIRA)" <ji...@apache.org> on 2010/09/08 17:22:32 UTC

[jira] Commented: (LUCENE-2637) FSDirectory.copyBytes isn't safe for SimpleFSDirectory

    [ https://issues.apache.org/jira/browse/LUCENE-2637?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907248#action_12907248 ] 

Robert Muir commented on LUCENE-2637:
-------------------------------------

related to this issue, I want to question if we should really be using FileChannel.transferFrom in FSDirectory at all.

Couldn't this make SimpleFSDirectory susceptible to LUCENE-2239?

We documented on that issue that users should use SimpleFSDirectory to prevent the ClosedByInterruptException.

I guess its worth considering if SimpleFSDirectory's copyBytes should simply copy byte[] and not use any NIOFS semantics.


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