[jira] [Commented] (LUCENE-4848) Fix Directory implementations to use NIO2 APIs

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (LUCENE-4848) Fix Directory implementations to use NIO2 APIs

JIRA jira@apache.org

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

Michael Poindexter commented on LUCENE-4848:
--------------------------------------------

bq. We should benchmark the "fixed" NIOFSDirectory on windows to check, if the locking issues still exist.

Im fairly certain they will since it's basically a Windows API issue.  In the Windows API one there is no call to read at a given position without doing a seek unless you are doing overlapped IO (hence asynchronous).  Since there's only one FD shared across threads with the NIOFSDirectory it will have to synchronize on it.  The bug mentioned in the NIOFSDirectory javadoc actually suggests to use the AsynchronousFileChannel on Windows to work around the internal synchronization issue :-)

bq. If we want to add AsyncFSDirectory again, we should do this only next to WindowsDirectory in the misc module.

Doesn't matter to me where it lives.
               

> Fix Directory implementations to use NIO2 APIs
> ----------------------------------------------
>
>                 Key: LUCENE-4848
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4848
>             Project: Lucene - Core
>          Issue Type: Task
>            Reporter: Michael Poindexter
>            Assignee: Uwe Schindler
>            Priority: Minor
>         Attachments: jdk7directory.zip, LUCENE-4848-MMapDirectory.patch, LUCENE-4848.patch, LUCENE-4848.patch, LUCENE-4848.patch, LUCENE-4848.patch, LUCENE-4848.patch, LUCENE-4848.patch.txt
>
>
> I have implemented 3 Directory subclasses using NIO2 API's (available on JDK7).  These may be suitable for inclusion in a Lucene contrib module.
> See the mailing list at http://lucene.markmail.org/thread/lrv7miivzmjm3ml5 for more details about this code and the advantages it provides.
> The code is attached as a zip to this issue.  I'll be happy to make any changes requested.  I've included some minimal smoke tests, but any help in how to use the normal Lucene tests to perform more thorough testing would be appreciated.

--
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: [hidden email]
For additional commands, e-mail: [hidden email]