mirror of https://github.com/apache/lucene.git
LUCENE-2825: Change FSDirectory.open to return MMap on 64-bit Solaris
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1052980 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
75a5bde690
commit
25b3f63fbd
|
@ -121,8 +121,8 @@ Changes in backwards compatibility policy
|
||||||
|
|
||||||
Changes in Runtime Behavior
|
Changes in Runtime Behavior
|
||||||
|
|
||||||
* LUCENE-2650: The behavior of FSDirectory.open has changed. On 64-bit
|
* LUCENE-2650, LUCENE-2825: The behavior of FSDirectory.open has changed. On 64-bit
|
||||||
Windows systems that support unmapping, FSDirectory.open returns
|
Windows and Solaris systems that support unmapping, FSDirectory.open returns
|
||||||
MMapDirectory. Additionally the behavior of MMapDirectory has been
|
MMapDirectory. Additionally the behavior of MMapDirectory has been
|
||||||
changed to enable unmapping by default if supported by the JRE.
|
changed to enable unmapping by default if supported by the JRE.
|
||||||
(Mike McCandless, Uwe Schindler, Robert Muir)
|
(Mike McCandless, Uwe Schindler, Robert Muir)
|
||||||
|
|
|
@ -161,10 +161,10 @@ public abstract class FSDirectory extends Directory {
|
||||||
* best implementation given the current environment.
|
* best implementation given the current environment.
|
||||||
* The directory returned uses the {@link NativeFSLockFactory}.
|
* The directory returned uses the {@link NativeFSLockFactory}.
|
||||||
*
|
*
|
||||||
* <p>Currently this returns {@link NIOFSDirectory}
|
* <p>Currently this returns {@link MMapDirectory} for most Solaris
|
||||||
* on non-Windows JREs, {@link MMapDirectory} on 64-bit
|
* and Windows 64-bit JREs, {@link NIOFSDirectory} for other
|
||||||
* Sun Windows JREs, and {@link SimpleFSDirectory} for other
|
* non-Windows JREs, and {@link SimpleFSDirectory} for other
|
||||||
* JRes on Windows. It is highly recommended that you consult the
|
* JREs on Windows. It is highly recommended that you consult the
|
||||||
* implementation's documentation for your platform before
|
* implementation's documentation for your platform before
|
||||||
* using this method.
|
* using this method.
|
||||||
*
|
*
|
||||||
|
@ -184,11 +184,11 @@ public abstract class FSDirectory extends Directory {
|
||||||
/** Just like {@link #open(File)}, but allows you to
|
/** Just like {@link #open(File)}, but allows you to
|
||||||
* also specify a custom {@link LockFactory}. */
|
* also specify a custom {@link LockFactory}. */
|
||||||
public static FSDirectory open(File path, LockFactory lockFactory) throws IOException {
|
public static FSDirectory open(File path, LockFactory lockFactory) throws IOException {
|
||||||
if (Constants.WINDOWS) {
|
if ((Constants.WINDOWS || Constants.SUN_OS)
|
||||||
if (MMapDirectory.UNMAP_SUPPORTED && Constants.JRE_IS_64BIT)
|
&& Constants.JRE_IS_64BIT && MMapDirectory.UNMAP_SUPPORTED) {
|
||||||
return new MMapDirectory(path, lockFactory);
|
return new MMapDirectory(path, lockFactory);
|
||||||
else
|
} else if (Constants.WINDOWS) {
|
||||||
return new SimpleFSDirectory(path, lockFactory);
|
return new SimpleFSDirectory(path, lockFactory);
|
||||||
} else {
|
} else {
|
||||||
return new NIOFSDirectory(path, lockFactory);
|
return new NIOFSDirectory(path, lockFactory);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue