You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2009/05/31 01:40:07 UTC
[jira] Issue Comment Edited: (LUCENE-1658) Absorb NIOFSDirectory
into FSDirectory
[ https://issues.apache.org/jira/browse/LUCENE-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12714793#action_12714793 ]
Uwe Schindler edited comment on LUCENE-1658 at 5/30/09 4:40 PM:
----------------------------------------------------------------
This is a revised patch (on current trunk):
- FSDir.open() was removed, the logic was included into FSDir.getDirectory and this un-deprectated: If the system property is missing, the same like in Mikes open() happens: choosing the best impl for platform
- Caching of FSDirs was completely removed
- FSDir.IndexInput/Output (deprected) was removed (suplicate code) and simply replaced by (deprecated) subclasses of SimpleFSDir ones). This is OK for backwards compatibility.
- protected/package-private ctors were removed, getDirectory uses now reflection to find the (File,LockFactory) ctor
Some tests currently fail:
- TestCompoundFile (do not know why)
- TestLockFactory (test is obsolete, execption can only occur on cached dirs)
- Sometimes reopen does not work because already closed (see LUCENE-1453)
TODO:
- Remove the caching code completely (currently comented out)
- Fix 1453, because if somebody uses a self-instantiated FSDir and not the default, the reopened dir would use the default again! So fix (maybe clone of FSDir, or LUCENE-1453 is obsolete without caching?).
This patch also contains an overflow fix in MMapDir for files <2 GB but large. "int*int" should be written as "(long)int*int", if the result maybe large (thanks Earwin!).
was (Author: thetaphi):
This is a revised patch (on current trunk):
- FSDir.open() was removed, the logic was included into FSDir.getDirectory and this un-deprectated: If the system property is missing, the same like in Mikes open() happens: choosing the best impl for platform
- Caching of FSDirs was completely removed
- FSDir.IndexInput/Output (deprected) was removed (suplicate code) and simply replaced by (deprecated) subclasses of SimpleFSDir ones). This is OK for backwards compatibility.
Some tests currently fail:
- TestCompoundFile (do not know why)
- TestLockFactory (test is obsolete, execption can only occur on cached dirs)
- Sometimes reopen does not work because already closed (see LUCENE-1453)
TODO:
- Remove the caching code completely (currently comented out)
- Fix 1453, because if somebody uses a self-instantiated FSDir and not the default, the reopened dir would use the default again! So fix (maybe clone of FSDir, or LUCENE-1453 is obsolete without caching?).
This patch also contains an overflow fix in MMapDir for files <2 GB but large. "int*int" should be written as "(long)int*int", if the result maybe large (thanks Earwin!).
> Absorb NIOFSDirectory into FSDirectory
> --------------------------------------
>
> Key: LUCENE-1658
> URL: https://issues.apache.org/jira/browse/LUCENE-1658
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Store
> Reporter: Michael McCandless
> Assignee: Uwe Schindler
> Priority: Minor
> Fix For: 2.9
>
> Attachments: LUCENE-1658-take2.patch, LUCENE-1658.patch, LUCENE-1658.patch, LUCENE-1658.patch
>
>
> I think whether one uses java.io.* vs java.nio.* or eventually
> java.nio2.*, or some other means, is an under-the-hood implementation
> detail of FSDirectory and doesn't merit a whole separate class.
> I think FSDirectory should be the core class one uses when one's index
> is in the filesystem.
> So, I'd like to deprecate NIOFSDirectory, absorbing it into
> FSDirectory, and add a setting "useNIO" to FSDirectory. It should
> default to "true" for non-Windows OSs, because it gives far better
> concurrent performance on all platforms but Windows (due to known Sun
> JRE issue http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6265734).
--
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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org