diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLTempLMDBEnv.java b/src/main/java/it/cavallium/dbengine/database/disk/LLTempLMDBEnv.java index 87d5dd7..20afc36 100644 --- a/src/main/java/it/cavallium/dbengine/database/disk/LLTempLMDBEnv.java +++ b/src/main/java/it/cavallium/dbengine/database/disk/LLTempLMDBEnv.java @@ -30,7 +30,7 @@ public class LLTempLMDBEnv implements Closeable { .setMapSize(TWENTY_GIBIBYTES) .setMaxDbs(MAX_DATABASES); //env = envBuilder.open(tempDirectory.toFile(), MDB_NOLOCK, MDB_NOSYNC, MDB_NOTLS, MDB_NORDAHEAD, MDB_WRITEMAP); - env = envBuilder.open(tempDirectory.toFile(), MDB_NOTLS, MDB_WRITEMAP, MDB_NORDAHEAD); + env = envBuilder.open(tempDirectory.toFile(), MDB_NOTLS, MDB_NOSYNC, MDB_NORDAHEAD, MDB_NOMETASYNC); } public Env getEnv() { diff --git a/src/main/java/it/cavallium/dbengine/lucene/LMDBArray.java b/src/main/java/it/cavallium/dbengine/lucene/LMDBArray.java index 03e7638..df0c240 100644 --- a/src/main/java/it/cavallium/dbengine/lucene/LMDBArray.java +++ b/src/main/java/it/cavallium/dbengine/lucene/LMDBArray.java @@ -18,7 +18,7 @@ import org.lmdbjava.Txn; public class LMDBArray implements IArray, Closeable { private static final boolean FORCE_SYNC = false; - private static final boolean FORCE_THREAD_LOCAL = true; + private static final boolean DONT_MERGE_TXNS = true; private static final AtomicLong NEXT_LMDB_ARRAY_ID = new AtomicLong(0); @@ -43,7 +43,7 @@ public class LMDBArray implements IArray, Closeable { this.defaultValue = defaultValue; this.writing = true; - if (FORCE_THREAD_LOCAL) { + if (DONT_MERGE_TXNS) { this.rwTxn = null; } else { this.rwTxn = this.env.txnWrite(); @@ -91,7 +91,7 @@ public class LMDBArray implements IArray, Closeable { } private void endMode() { - if (FORCE_THREAD_LOCAL) { + if (DONT_MERGE_TXNS) { writing = true; if (readTxn != null) { readTxn.commit(); diff --git a/src/main/java/it/cavallium/dbengine/lucene/LMDBPriorityQueue.java b/src/main/java/it/cavallium/dbengine/lucene/LMDBPriorityQueue.java index 7cc9d67..c5e2b1d 100644 --- a/src/main/java/it/cavallium/dbengine/lucene/LMDBPriorityQueue.java +++ b/src/main/java/it/cavallium/dbengine/lucene/LMDBPriorityQueue.java @@ -28,7 +28,7 @@ import reactor.util.function.Tuples; public class LMDBPriorityQueue implements PriorityQueue, Reversable>, ReversableResourceIterable { private static final boolean FORCE_SYNC = false; - private static final boolean FORCE_THREAD_LOCAL = true; + private static final boolean DONT_MERGE_TXNS = true; private static final AtomicLong NEXT_LMDB_QUEUE_ID = new AtomicLong(0); private static final AtomicLong NEXT_ITEM_UID = new AtomicLong(0); @@ -56,7 +56,7 @@ public class LMDBPriorityQueue implements PriorityQueue, Reversable implements PriorityQueue, Reversable { LLUtils.ensureBlocking(); var totalHitsThreshold = queryParams.getTotalHitsThresholdLong(); - if (queryParams.limitLong() < MAX_IN_MEMORY_SIZE) { - throw new UnsupportedOperationException("Allowed limit is " + MAX_IN_MEMORY_SIZE + " or greater"); - } return LMDBFullFieldDocCollector.createSharedManager(env, queryParams.sort(), queryParams.limitInt(), totalHitsThreshold); }) diff --git a/src/main/java/it/cavallium/dbengine/lucene/searcher/UnsortedScoredFullMultiSearcher.java b/src/main/java/it/cavallium/dbengine/lucene/searcher/UnsortedScoredFullMultiSearcher.java index 5093774..88958df 100644 --- a/src/main/java/it/cavallium/dbengine/lucene/searcher/UnsortedScoredFullMultiSearcher.java +++ b/src/main/java/it/cavallium/dbengine/lucene/searcher/UnsortedScoredFullMultiSearcher.java @@ -69,9 +69,6 @@ public class UnsortedScoredFullMultiSearcher implements MultiSearcher { return Mono .fromCallable(() -> { LLUtils.ensureBlocking(); - if (queryParams.limitLong() < MAX_IN_MEMORY_SIZE) { - throw new UnsupportedOperationException("Allowed limit is " + MAX_IN_MEMORY_SIZE + " or greater"); - } var totalHitsThreshold = queryParams.getTotalHitsThresholdLong(); return LMDBFullScoreDocCollector.createSharedManager(env, queryParams.limitLong(), totalHitsThreshold); })