提交 c3967281 authored 作者: Thomas Mueller's avatar Thomas Mueller

Memory mapped files: the system property h2.nioCleanerHack is now disabled by default.

上级 54bbc678
......@@ -426,11 +426,12 @@ public class SysProperties {
public static final boolean NIO_LOAD_MAPPED = getBooleanSetting("h2.nioLoadMapped", false);
/**
* System property <code>h2.nioCleanerHack</code> (default: true).<br />
* If possible, use a hack to un-map the mapped file. See also
* System property <code>h2.nioCleanerHack</code> (default: false).<br />
* If enabled, use the reflection hack to un-map the mapped file if possible. If disabled,
* System.gc() is called in a loop until the object is garbage collected. See also
* http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4724038
*/
public static final boolean NIO_CLEANER_HACK = getBooleanSetting("h2.nioCleanerHack", true);
public static final boolean NIO_CLEANER_HACK = getBooleanSetting("h2.nioCleanerHack", false);
/**
* System property <code>h2.objectCache</code> (default: true).<br />
......
......@@ -17,7 +17,6 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Random;
import org.h2.store.fs.FileObject;
import org.h2.store.fs.FileSystem;
import org.h2.store.fs.FileSystemMemory;
......@@ -35,7 +34,9 @@ public class TestFileSystem extends TestBase {
* @param a ignored
*/
public static void main(String... a) throws Exception {
TestBase.createCaller().init().test();
TestBase test = TestBase.createCaller().init();
test.config.traceTest = true;
test.test();
}
public void test() throws Exception {
......@@ -43,6 +44,7 @@ public class TestFileSystem extends TestBase {
testDatabaseInJar();
// set default part size to 1 << 10
FileSystem.getInstance("split:10:" + getBaseDir() + "/fs");
testFileSystem("nioMapped:" + getBaseDir() + "/fs");
testFileSystem("split:nioMapped:" + getBaseDir() + "/fs");
testFileSystem("split:" + getBaseDir() + "/fs");
testFileSystem(getBaseDir() + "/fs");
......@@ -168,7 +170,6 @@ public class TestFileSystem extends TestBase {
String[] list = fs.listFiles(fsBase);
assertEquals(1, list.length);
assertTrue(list[0].endsWith("test"));
fs.copy(fsBase + "/test", fsBase + "/test3");
fs.rename(fsBase + "/test3", fsBase + "/test2");
assertTrue(!fs.exists(fsBase + "/test3"));
......@@ -190,7 +191,6 @@ public class TestFileSystem extends TestBase {
assertTrue(fs.tryDelete(fsBase + "/test2"));
fs.delete(fsBase + "/test");
if (fsBase.indexOf(FileSystemMemory.PREFIX) < 0 && fsBase.indexOf(FileSystemMemory.PREFIX_LZF) < 0) {
fs.createDirs(fsBase + "/testDir/test");
assertTrue(fs.isDirectory(fsBase + "/testDir"));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论