From ea37b9ae870257c943bdc8c2896f1238a4dc94b6 Mon Sep 17 00:00:00 2001 From: Uwe Schindler Date: Sat, 25 Feb 2017 21:15:09 +0100 Subject: [PATCH] SOLR-10158: Add support for "preload" option in MMapDirectoryFactory --- solr/CHANGES.txt | 3 +++ .../src/java/org/apache/solr/core/MMapDirectoryFactory.java | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 2b0044c3f6e..e06603cb38e 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -134,6 +134,9 @@ New Features field must both be stored=false, indexed=false, docValues=true. (Ishan Chattopadhyaya, hossman, noble, shalin, yonik) +* SOLR-10158: Add support for "preload" option in MMapDirectoryFactory. + (Amrit Sarkar via Uwe Schindler) + Bug Fixes ---------------------- diff --git a/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java index c68ae62cf0e..e9fbce70619 100644 --- a/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java +++ b/solr/core/src/java/org/apache/solr/core/MMapDirectoryFactory.java @@ -35,6 +35,7 @@ import org.slf4j.LoggerFactory; * Can set the following parameters: * * @@ -42,6 +43,7 @@ import org.slf4j.LoggerFactory; public class MMapDirectoryFactory extends StandardDirectoryFactory { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); boolean unmapHack; + boolean preload; private int maxChunk; @Override @@ -53,6 +55,7 @@ public class MMapDirectoryFactory extends StandardDirectoryFactory { throw new IllegalArgumentException("maxChunk must be greater than 0"); } unmapHack = params.getBool("unmap", true); + preload = params.getBool("preload", false); //default turn-off } @Override @@ -64,6 +67,7 @@ public class MMapDirectoryFactory extends StandardDirectoryFactory { } catch (IllegalArgumentException e) { log.warn("Unmap not supported on this JVM, continuing on without setting unmap", e); } + mapDirectory.setPreload(preload); return mapDirectory; }