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

Robert Muir commented on LUCENE-5047:
-------------------------------------

{quote}
A possible fix for now may be to try/catch for the new Exceptions in the 2 
directory impls (there is also a try-with-resources there) and rethrow as FNFE.
{quote}

In my opinion this is wrong to do: the bug is things like NFS-special-cases in 
lucene core that are catching these exceptions. Such code needs to be fixed to 
also catch the nio2 exceptions!

                
> Trunk's NIOFSDir and MMapDir throw different Exception on file not found 
> cases because of use of FileChannel.open()
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-5047
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5047
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/store
>    Affects Versions: 5.0
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 5.0
>
>
> In trunk, we use FileChannel.open() when opening files from NIOFSDir and 
> MMapDirectory. This new method (all new APIs in Java 7!) throw 
> java.nio.file.NoSuchFileException if a file does not exist. The old-style 
> FileNotFoundException is only thrown by old APIs.
> We have to decide how to correctly document the expected behaviour in the 
> abstract Directory interface and how we fix this (Directory should clearly 
> state *which* IOException type is to be thrown if we really depend on the 
> specific type).
> The new exceptions are more specific, so you get the most "correct" exception 
> (it may happen with old apis that you get FNFE if you open a file where you 
> have no access because it is locked...). With Java 7's FileChannel.open() you 
> get a separate and correct Exception.
> A possible fix for now may be to try/catch for the new Exceptions in the 2 
> directory impls (there is also a try-with-resources there) and rethrow as 
> FNFE.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to