From 953e7c9399405312d4823d89327f2c7a2caf08b8 Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Tue, 13 Jul 2021 21:29:33 +0000 Subject: [PATCH] Adding configurable MaxLogFileSize option to BdbModule --- .../src/main/java/org/archive/bdb/BdbModule.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/commons/src/main/java/org/archive/bdb/BdbModule.java b/commons/src/main/java/org/archive/bdb/BdbModule.java index d5ee2eb9..08b4be2b 100644 --- a/commons/src/main/java/org/archive/bdb/BdbModule.java +++ b/commons/src/main/java/org/archive/bdb/BdbModule.java @@ -172,6 +172,14 @@ public class BdbModule implements Lifecycle, Checkpointable, Closeable, Disposab public void setUseSharedCache(boolean useSharedCache) { this.useSharedCache = useSharedCache; } + + protected long maxLogFileSize = 10000000; + public long getMaxLogFileSize() { + return maxLogFileSize; + } + public void setMaxLogFileSize(long cacheSize) { + this.maxLogFileSize = maxLogFileSize; + } /** * Expected number of concurrent threads; used to tune nLockTables @@ -277,7 +285,10 @@ public class BdbModule implements Lifecycle, Checkpointable, Closeable, Disposab config.setConfigParam("je.lock.nLockTables", Long.toString(nLockTables)); // triple this value to 6K because stats show many faults - config.setConfigParam("je.log.faultReadSize", "6144"); + config.setConfigParam("je.log.faultReadSize", "6144"); + + // set max bdb log file size. default 10M + config.setConfigParam("je.log.fileMax", Long.toString(getMaxLogFileSize())); if(!getUseHardLinkCheckpoints()) { // to support checkpoints by textual manifest only,