[
https://issues.apache.org/jira/browse/LUCENE-5945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14132016#comment-14132016
]
Robert Muir commented on LUCENE-5945:
-------------------------------------
There is a little complexity, today its not so friendly to any provider:
* SimpleFSDirectory only works with File since it uses RandomAccessFile, it
will not work with any Path (only really File or Path.toFile), because we
advertise in docs that you can safely use it without worrying about
ClosedByInterruptException.
* NIOFSDirectory/MMapDirectory require that you can make a FileChannel on the
path.
I hate to add a fourth directory to use Files.newByteChannel just because of
the stupid ClosedByInterruptException, and have no idea what it would be named
(to me this should be the "Simple" one...)
> Full cutover to Path api from java.io.File
> ------------------------------------------
>
> Key: LUCENE-5945
> URL: https://issues.apache.org/jira/browse/LUCENE-5945
> Project: Lucene - Core
> Issue Type: Task
> Reporter: Robert Muir
>
> Using NIO2 has a lot of benefits:
> * more fine grained exception handling
> * clearer semantics about what happens
> * additional functionality
> * possibility to work with virtual filesystems, etc.
> We already banned File.delete and switched to Files.delete, I think we should
> ban File completely (except for some sugar methods that just forward with
> .toPath, like FSDirectory.open)
> For tests, ideally we go a little further and ban methods like
> FileSystems.getDefault(). Instead we could exempt LuceneTestCase and ensure
> all Paths are created via one protected method. This leaves open the
> possibility to mock up filesystem behavior at a lower level in tests in the
> future.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]