mirror of https://github.com/apache/lucene.git
SOLR-10158: Add support for "preload" option in MMapDirectoryFactory
This commit is contained in:
parent
6f3f6a2d66
commit
ea37b9ae87
|
@ -134,6 +134,9 @@ New Features
|
||||||
field must both be stored=false, indexed=false, docValues=true. (Ishan Chattopadhyaya, hossman, noble,
|
field must both be stored=false, indexed=false, docValues=true. (Ishan Chattopadhyaya, hossman, noble,
|
||||||
shalin, yonik)
|
shalin, yonik)
|
||||||
|
|
||||||
|
* SOLR-10158: Add support for "preload" option in MMapDirectoryFactory.
|
||||||
|
(Amrit Sarkar via Uwe Schindler)
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ import org.slf4j.LoggerFactory;
|
||||||
* Can set the following parameters:
|
* Can set the following parameters:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>unmap -- See {@link MMapDirectory#setUseUnmap(boolean)}</li>
|
* <li>unmap -- See {@link MMapDirectory#setUseUnmap(boolean)}</li>
|
||||||
|
* <li>preload -- See {@link MMapDirectory#setPreload(boolean)}</li>
|
||||||
* <li>maxChunkSize -- The Max chunk size. See {@link MMapDirectory#MMapDirectory(Path, LockFactory, int)}</li>
|
* <li>maxChunkSize -- The Max chunk size. See {@link MMapDirectory#MMapDirectory(Path, LockFactory, int)}</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
|
@ -42,6 +43,7 @@ import org.slf4j.LoggerFactory;
|
||||||
public class MMapDirectoryFactory extends StandardDirectoryFactory {
|
public class MMapDirectoryFactory extends StandardDirectoryFactory {
|
||||||
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||||
boolean unmapHack;
|
boolean unmapHack;
|
||||||
|
boolean preload;
|
||||||
private int maxChunk;
|
private int maxChunk;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -53,6 +55,7 @@ public class MMapDirectoryFactory extends StandardDirectoryFactory {
|
||||||
throw new IllegalArgumentException("maxChunk must be greater than 0");
|
throw new IllegalArgumentException("maxChunk must be greater than 0");
|
||||||
}
|
}
|
||||||
unmapHack = params.getBool("unmap", true);
|
unmapHack = params.getBool("unmap", true);
|
||||||
|
preload = params.getBool("preload", false); //default turn-off
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -64,6 +67,7 @@ public class MMapDirectoryFactory extends StandardDirectoryFactory {
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
log.warn("Unmap not supported on this JVM, continuing on without setting unmap", e);
|
log.warn("Unmap not supported on this JVM, continuing on without setting unmap", e);
|
||||||
}
|
}
|
||||||
|
mapDirectory.setPreload(preload);
|
||||||
return mapDirectory;
|
return mapDirectory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue