summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2021-10-25 14:11:17 +1100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-10-25 03:40:20 +0000
commit527670d7a6dd9b156ff21ba3784ecbd39b422aa0 (patch)
tree34f762ff28bf7ecb7da481fad20f5b4ec9590900
parent27336f4a942b4e5403e1e289c371c149b98e61d7 (diff)
downloadmongo-527670d7a6dd9b156ff21ba3784ecbd39b422aa0.tar.gz
Import wiredtiger: 2d31e052db7225da41a281eb85845a33775e3b2e from branch mongodb-5.1
ref: 1d8198055e..2d31e052db for: 5.1.0-rc2 WT-8030 Add sanity checks related to eviction trigger setting
-rw-r--r--src/third_party/wiredtiger/dist/api_data.py20
-rw-r--r--src/third_party/wiredtiger/examples/c/ex_all.c4
-rw-r--r--src/third_party/wiredtiger/import.data2
-rw-r--r--src/third_party/wiredtiger/src/conn/conn_cache.c6
-rw-r--r--src/third_party/wiredtiger/src/docs/arch-eviction.dox9
-rw-r--r--src/third_party/wiredtiger/src/include/wiredtiger.in49
-rw-r--r--src/third_party/wiredtiger/test/csuite/wt1965_col_efficiency/main.c3
-rwxr-xr-xsrc/third_party/wiredtiger/test/suite/test_compact02.py2
-rwxr-xr-xsrc/third_party/wiredtiger/test/suite/test_config04.py36
-rw-r--r--src/third_party/wiredtiger/test/suite/test_hs05.py8
-rw-r--r--src/third_party/wiredtiger/test/suite/test_rollback_to_stable18.py5
-rw-r--r--src/third_party/wiredtiger/test/suite/test_rollback_to_stable19.py4
-rwxr-xr-xsrc/third_party/wiredtiger/test/suite/test_rollback_to_stable28.py7
13 files changed, 105 insertions, 50 deletions
diff --git a/src/third_party/wiredtiger/dist/api_data.py b/src/third_party/wiredtiger/dist/api_data.py
index 3d202b5f500..6bafa7e3720 100644
--- a/src/third_party/wiredtiger/dist/api_data.py
+++ b/src/third_party/wiredtiger/dist/api_data.py
@@ -640,41 +640,47 @@ connection_runtime_config = [
perform eviction in worker threads when the cache contains at least
this much dirty content. It is a percentage of the cache size if the
value is within the range of 1 to 100 or an absolute size when greater
- than 100. The value is not allowed to exceed the \c cache_size.''',
+ than 100. The value is not allowed to exceed the \c cache_size and has
+ to be lower than its counterpart \c eviction_dirty_trigger''',
min=1, max='10TB'),
Config('eviction_dirty_trigger', '20', r'''
trigger application threads to perform eviction when the cache contains
at least this much dirty content. It is a percentage of the cache size
if the value is within the range of 1 to 100 or an absolute size when
- greater than 100. The value is not allowed to exceed the \c cache_size.
+ greater than 100. The value is not allowed to exceed the \c cache_size
+ and has to be greater than its counterpart \c eviction_dirty_target.
This setting only alters behavior if it is lower than eviction_trigger
''', min=1, max='10TB'),
Config('eviction_target', '80', r'''
perform eviction in worker threads when the cache contains at least
this much content. It is a percentage of the cache size if the value is
within the range of 10 to 100 or an absolute size when greater than 100.
- The value is not allowed to exceed the \c cache_size''',
+ The value is not allowed to exceed the \c cache_size and has to be lower
+ than its counterpart \c eviction_trigger''',
min=10, max='10TB'),
Config('eviction_trigger', '95', r'''
trigger application threads to perform eviction when the cache contains
at least this much content. It is a percentage of the cache size if the
value is within the range of 10 to 100 or an absolute size when greater
- than 100. The value is not allowed to exceed the \c cache_size''',
+ than 100. The value is not allowed to exceed the \c cache_size and has
+ to be greater than its counterpart \c eviction_target''',
min=10, max='10TB'),
Config('eviction_updates_target', '0', r'''
perform eviction in worker threads when the cache contains at least
this many bytes of updates. It is a percentage of the cache size if the
value is within the range of 0 to 100 or an absolute size when greater
than 100. Calculated as half of \c eviction_dirty_target by default.
- The value is not allowed to exceed the \c cache_size''',
+ The value is not allowed to exceed the \c cache_size and has to be lower
+ than its counterpart \c eviction_updates_trigger''',
min=0, max='10TB'),
Config('eviction_updates_trigger', '0', r'''
trigger application threads to perform eviction when the cache contains
at least this many bytes of updates. It is a percentage of the cache size
if the value is within the range of 1 to 100 or an absolute size when
greater than 100\. Calculated as half of \c eviction_dirty_trigger by default.
- The value is not allowed to exceed the \c cache_size. This setting only
- alters behavior if it is lower than \c eviction_trigger''',
+ The value is not allowed to exceed the \c cache_size and has to be greater than
+ its counterpart \c eviction_updates_target. This setting only alters behavior
+ if it is lower than \c eviction_trigger''',
min=0, max='10TB'),
Config('file_manager', '', r'''
control how file handles are managed''',
diff --git a/src/third_party/wiredtiger/examples/c/ex_all.c b/src/third_party/wiredtiger/examples/c/ex_all.c
index c769ffff4b4..99c9d36d19a 100644
--- a/src/third_party/wiredtiger/examples/c/ex_all.c
+++ b/src/third_party/wiredtiger/examples/c/ex_all.c
@@ -1228,8 +1228,8 @@ main(int argc, char *argv[])
/*
* Configure eviction to begin at 90% full, and run until the cache is only 75% dirty.
*/
- error_check(
- wiredtiger_open(home, NULL, "create,eviction_trigger=90,eviction_dirty_target=75", &conn));
+ error_check(wiredtiger_open(home, NULL,
+ "create,eviction_trigger=90,eviction_dirty_target=75,eviction_dirty_trigger=90", &conn));
/*! [Eviction configuration] */
error_check(conn->close(conn, NULL));
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index 30a35f4ec4d..66817903736 100644
--- a/src/third_party/wiredtiger/import.data
+++ b/src/third_party/wiredtiger/import.data
@@ -2,5 +2,5 @@
"vendor": "wiredtiger",
"github": "wiredtiger/wiredtiger.git",
"branch": "mongodb-5.1",
- "commit": "1d8198055e45aa83c4cc0fe1aa4de802b5a2bc7b"
+ "commit": "2d31e052db7225da41a281eb85845a33775e3b2e"
}
diff --git a/src/third_party/wiredtiger/src/conn/conn_cache.c b/src/third_party/wiredtiger/src/conn/conn_cache.c
index 81fca88fe09..4337042629c 100644
--- a/src/third_party/wiredtiger/src/conn/conn_cache.c
+++ b/src/third_party/wiredtiger/src/conn/conn_cache.c
@@ -244,6 +244,12 @@ __wt_cache_create(WT_SESSION_IMPL *session, const char *cfg[])
*/
if (cache->eviction_target >= cache->eviction_trigger)
WT_RET_MSG(session, EINVAL, "eviction target must be lower than the eviction trigger");
+ if (cache->eviction_dirty_target >= cache->eviction_dirty_trigger)
+ WT_RET_MSG(
+ session, EINVAL, "eviction dirty target must be lower than the eviction dirty trigger");
+ if (cache->eviction_updates_target >= cache->eviction_updates_trigger)
+ WT_RET_MSG(session, EINVAL,
+ "eviction updates target must be lower than the eviction updates trigger");
WT_RET(__wt_cond_auto_alloc(
session, "cache eviction server", 10000, WT_MILLION, &cache->evict_cond));
diff --git a/src/third_party/wiredtiger/src/docs/arch-eviction.dox b/src/third_party/wiredtiger/src/docs/arch-eviction.dox
index 0e3bf023be6..9e8fedb811c 100644
--- a/src/third_party/wiredtiger/src/docs/arch-eviction.dox
+++ b/src/third_party/wiredtiger/src/docs/arch-eviction.dox
@@ -64,7 +64,7 @@ a database via ::wiredtiger_open, or changed after open with
WT_CONNECTION::reconfigure.
The \c eviction_target configuration value is the level at
-which WiredTiger attempts to keep the overall cache usage. Eviction worker
+which WiredTiger attempts to keep the overall cache usage. Eviction worker
threads are active when the cache contains at least this much content,
expressed as a percentage of the total cache size.
@@ -72,15 +72,18 @@ The \c eviction_trigger configuration value is the level at which application th
start to perform the eviction.
The \c eviction_dirty_target and \c eviction_dirty_trigger operate in a similar way to
-the overall targets but only apply to dirty data in cache. In particular, application
+the overall targets but only apply to dirty data in cache. In particular, application
threads will be throttled if the percentage of dirty data reaches the
\c eviction_dirty_trigger. Any page that has been modified since it was read from disk is
considered dirty.
-The \c eviction_updates_target perform eviction in worker threads when the cache contain
+The \c eviction_updates_target perform eviction in worker threads when the cache contains
at least this many bytes of updates
The \c eviction_updates_trigger trigger application threads to perform eviction when the
cache contains at least this many bytes of updates.
+It is worth noting that for all eviction target and trigger sizes, the target size must be lower
+than its trigger size counterpart.
+
*/
diff --git a/src/third_party/wiredtiger/src/include/wiredtiger.in b/src/third_party/wiredtiger/src/include/wiredtiger.in
index ec50d871f90..93d3e7bc1a8 100644
--- a/src/third_party/wiredtiger/src/include/wiredtiger.in
+++ b/src/third_party/wiredtiger/src/include/wiredtiger.in
@@ -2105,31 +2105,37 @@ struct __wt_connection {
* @config{eviction_dirty_target, perform eviction in worker threads when the cache contains
* at least this much dirty content. It is a percentage of the cache size if the value is
* within the range of 1 to 100 or an absolute size when greater than 100. The value is not
- * allowed to exceed the \c cache_size., an integer between 1 and 10TB; default \c 5.}
+ * allowed to exceed the \c cache_size and has to be lower than its counterpart \c
+ * eviction_dirty_trigger., an integer between 1 and 10TB; default \c 5.}
* @config{eviction_dirty_trigger, trigger application threads to perform eviction when the
* cache contains at least this much dirty content. It is a percentage of the cache size if
* the value is within the range of 1 to 100 or an absolute size when greater than 100. The
- * value is not allowed to exceed the \c cache_size. This setting only alters behavior if
- * it is lower than eviction_trigger., an integer between 1 and 10TB; default \c 20.}
+ * value is not allowed to exceed the \c cache_size and has to be greater than its
+ * counterpart \c eviction_dirty_target. This setting only alters behavior if it is lower
+ * than eviction_trigger., an integer between 1 and 10TB; default \c 20.}
* @config{eviction_target, perform eviction in worker threads when the cache contains at
* least this much content. It is a percentage of the cache size if the value is within the
* range of 10 to 100 or an absolute size when greater than 100. The value is not allowed to
- * exceed the \c cache_size., an integer between 10 and 10TB; default \c 80.}
+ * exceed the \c cache_size and has to be lower than its counterpart \c eviction_trigger.,
+ * an integer between 10 and 10TB; default \c 80.}
* @config{eviction_trigger, trigger application threads to perform eviction when the cache
* contains at least this much content. It is a percentage of the cache size if the value
* is within the range of 10 to 100 or an absolute size when greater than 100. The value is
- * not allowed to exceed the \c cache_size., an integer between 10 and 10TB; default \c 95.}
+ * not allowed to exceed the \c cache_size and has to be greater than its counterpart \c
+ * eviction_target., an integer between 10 and 10TB; default \c 95.}
* @config{eviction_updates_target, perform eviction in worker threads when the cache
* contains at least this many bytes of updates. It is a percentage of the cache size if
* the value is within the range of 0 to 100 or an absolute size when greater than 100.
* Calculated as half of \c eviction_dirty_target by default. The value is not allowed to
- * exceed the \c cache_size., an integer between 0 and 10TB; default \c 0.}
+ * exceed the \c cache_size and has to be lower than its counterpart \c
+ * eviction_updates_trigger., an integer between 0 and 10TB; default \c 0.}
* @config{eviction_updates_trigger, trigger application threads to perform eviction when
* the cache contains at least this many bytes of updates. It is a percentage of the cache
* size if the value is within the range of 1 to 100 or an absolute size when greater than
* 100\. Calculated as half of \c eviction_dirty_trigger by default. The value is not
- * allowed to exceed the \c cache_size. This setting only alters behavior if it is lower
- * than \c eviction_trigger., an integer between 0 and 10TB; default \c 0.}
+ * allowed to exceed the \c cache_size and has to be greater than its counterpart \c
+ * eviction_updates_target. This setting only alters behavior if it is lower than \c
+ * eviction_trigger., an integer between 0 and 10TB; default \c 0.}
* @config{file_manager = (, control how file handles are managed., a set of related
* configuration options defined below.}
* @config{&nbsp;&nbsp;&nbsp;&nbsp;
@@ -2802,31 +2808,36 @@ struct __wt_connection {
* @config{eviction_dirty_target, perform eviction in worker threads when the cache contains at
* least this much dirty content. It is a percentage of the cache size if the value is within the
* range of 1 to 100 or an absolute size when greater than 100. The value is not allowed to exceed
- * the \c cache_size., an integer between 1 and 10TB; default \c 5.}
+ * the \c cache_size and has to be lower than its counterpart \c eviction_dirty_trigger., an integer
+ * between 1 and 10TB; default \c 5.}
* @config{eviction_dirty_trigger, trigger application threads to perform eviction when the cache
* contains at least this much dirty content. It is a percentage of the cache size if the value is
* within the range of 1 to 100 or an absolute size when greater than 100. The value is not allowed
- * to exceed the \c cache_size. This setting only alters behavior if it is lower than
- * eviction_trigger., an integer between 1 and 10TB; default \c 20.}
+ * to exceed the \c cache_size and has to be greater than its counterpart \c eviction_dirty_target.
+ * This setting only alters behavior if it is lower than eviction_trigger., an integer between 1 and
+ * 10TB; default \c 20.}
* @config{eviction_target, perform eviction in worker threads when the cache contains at least this
* much content. It is a percentage of the cache size if the value is within the range of 10 to 100
- * or an absolute size when greater than 100. The value is not allowed to exceed the \c cache_size.,
- * an integer between 10 and 10TB; default \c 80.}
+ * or an absolute size when greater than 100. The value is not allowed to exceed the \c cache_size
+ * and has to be lower than its counterpart \c eviction_trigger., an integer between 10 and 10TB;
+ * default \c 80.}
* @config{eviction_trigger, trigger application threads to perform eviction when the cache contains
* at least this much content. It is a percentage of the cache size if the value is within the
* range of 10 to 100 or an absolute size when greater than 100. The value is not allowed to exceed
- * the \c cache_size., an integer between 10 and 10TB; default \c 95.}
+ * the \c cache_size and has to be greater than its counterpart \c eviction_target., an integer
+ * between 10 and 10TB; default \c 95.}
* @config{eviction_updates_target, perform eviction in worker threads when the cache contains at
* least this many bytes of updates. It is a percentage of the cache size if the value is within
* the range of 0 to 100 or an absolute size when greater than 100. Calculated as half of \c
- * eviction_dirty_target by default. The value is not allowed to exceed the \c cache_size., an
- * integer between 0 and 10TB; default \c 0.}
+ * eviction_dirty_target by default. The value is not allowed to exceed the \c cache_size and has
+ * to be lower than its counterpart \c eviction_updates_trigger., an integer between 0 and 10TB;
+ * default \c 0.}
* @config{eviction_updates_trigger, trigger application threads to perform eviction when the cache
* contains at least this many bytes of updates. It is a percentage of the cache size if the value
* is within the range of 1 to 100 or an absolute size when greater than 100\. Calculated as half of
- * \c eviction_dirty_trigger by default. The value is not allowed to exceed the \c cache_size.
- * This setting only alters behavior if it is lower than \c eviction_trigger., an integer between 0
- * and 10TB; default \c 0.}
+ * \c eviction_dirty_trigger by default. The value is not allowed to exceed the \c cache_size and
+ * has to be greater than its counterpart \c eviction_updates_target. This setting only alters
+ * behavior if it is lower than \c eviction_trigger., an integer between 0 and 10TB; default \c 0.}
* @config{exclusive, fail if the database already exists\, generally used with the \c create
* option., a boolean flag; default \c false.}
* @config{extensions, list of shared library extensions to load (using dlopen). Any values
diff --git a/src/third_party/wiredtiger/test/csuite/wt1965_col_efficiency/main.c b/src/third_party/wiredtiger/test/csuite/wt1965_col_efficiency/main.c
index b01f2e40bfc..ea4a39d8378 100644
--- a/src/third_party/wiredtiger/test/csuite/wt1965_col_efficiency/main.c
+++ b/src/third_party/wiredtiger/test/csuite/wt1965_col_efficiency/main.c
@@ -115,7 +115,8 @@ main(int argc, char *argv[])
testutil_check(wiredtiger_open(opts->home, NULL,
"create,cache_size=1G,checkpoint=(wait=30),eviction_trigger=80,eviction_target=64,eviction_"
- "dirty_target=65,log=(enabled,file_max=10M),transaction_sync=(enabled=true,method=none)",
+ "dirty_target=65,eviction_dirty_trigger=80,log=(enabled,file_max=10M),transaction_sync=("
+ "enabled=true,method=none)",
&opts->conn));
testutil_check(opts->conn->open_session(opts->conn, NULL, NULL, &session));
diff --git a/src/third_party/wiredtiger/test/suite/test_compact02.py b/src/third_party/wiredtiger/test/suite/test_compact02.py
index 6366c7d6da2..c159e9428b5 100755
--- a/src/third_party/wiredtiger/test/suite/test_compact02.py
+++ b/src/third_party/wiredtiger/test/suite/test_compact02.py
@@ -113,7 +113,7 @@ class test_compact02(wttest.WiredTigerTestCase):
conn_params = 'create,' + \
cacheSize + ',error_prefix="%s",' % self.shortid() + \
'statistics=(all),' + \
- 'eviction_dirty_target=99,eviction_dirty_trigger=99'
+ 'eviction_dirty_target=80,eviction_dirty_trigger=99'
try:
self.conn = wiredtiger.wiredtiger_open(self.home, conn_params)
except wiredtiger.WiredTigerError as e:
diff --git a/src/third_party/wiredtiger/test/suite/test_config04.py b/src/third_party/wiredtiger/test/suite/test_config04.py
index ab72ee139e5..51e5a4d4b7a 100755
--- a/src/third_party/wiredtiger/test/suite/test_config04.py
+++ b/src/third_party/wiredtiger/test/suite/test_config04.py
@@ -155,12 +155,12 @@ class test_config04(wttest.WiredTigerTestCase):
def test_eviction_absolute(self):
self.common_test('eviction_target=50MB,eviction_trigger=60MB,'
- 'eviction_dirty_target=20MB,eviction_dirty_trigger=15MB,'
+ 'eviction_dirty_target=20MB,eviction_dirty_trigger=25MB,'
'eviction_checkpoint_target=13MB')
def test_eviction_abs_and_pct(self):
self.common_test('eviction_target=50,eviction_trigger=60MB,'
- 'eviction_dirty_target=20,eviction_dirty_trigger=15MB')
+ 'eviction_dirty_target=20,eviction_dirty_trigger=25MB')
def test_eviction_abs_less_than_one_pct(self):
self.wiredtiger_open('.','create,cache_size=8GB,eviction_target=70MB,'
@@ -203,18 +203,48 @@ class test_config04(wttest.WiredTigerTestCase):
'eviction_dirty_target=1G'),
'/eviction dirty target should not exceed cache size/')
- def test_eviction_dirty_trigggr_abs_too_large(self):
+ def test_eviction_dirty_trigger_abs_too_large(self):
self.assertRaisesWithMessage(wiredtiger.WiredTigerError, lambda:
self.wiredtiger_open('.','create,cache_size=500MB,'
'eviction_dirty_trigger=1G'),
'/eviction dirty trigger should not exceed cache size/')
+ def test_eviction_dirty_trigger_abs_equal_to_dirty_target(self):
+ self.assertRaisesWithMessage(wiredtiger.WiredTigerError, lambda:
+ self.wiredtiger_open('.','create,eviction_dirty_trigger=10MB,'
+ 'eviction_dirty_target=10MB'),
+ '/eviction dirty target must be lower than the eviction dirty trigger/')
+
+ def test_eviction_dirty_trigger_abs_too_low(self):
+ self.assertRaisesWithMessage(wiredtiger.WiredTigerError, lambda:
+ self.wiredtiger_open('.','create,eviction_dirty_trigger=9MB,'
+ 'eviction_dirty_target=10MB'),
+ '/eviction dirty target must be lower than the eviction dirty trigger/')
+
def test_eviction_checkpoint_tgt_abs_too_large(self):
self.assertRaisesWithMessage(wiredtiger.WiredTigerError, lambda:
self.wiredtiger_open('.','create,cache_size=500MB,'
'eviction_checkpoint_target=1G'),
'/eviction checkpoint target should not exceed cache size/')
+ def test_eviction_updates_tgt_abs_too_large(self):
+ self.assertRaisesWithMessage(wiredtiger.WiredTigerError, lambda:
+ self.wiredtiger_open('.','create,cache_size=500MB,'
+ 'eviction_updates_target=1G'),
+ '/eviction updates target should not exceed cache size/')
+
+ def test_eviction_updates_trigger_abs_equal_to_updates_target(self):
+ self.assertRaisesWithMessage(wiredtiger.WiredTigerError, lambda:
+ self.wiredtiger_open('.','create,eviction_updates_target=10MB,'
+ 'eviction_updates_trigger=10MB'),
+ '/eviction updates target must be lower than the eviction updates trigger/')
+
+ def test_eviction_updates_trigger_abs_too_low(self):
+ self.assertRaisesWithMessage(wiredtiger.WiredTigerError, lambda:
+ self.wiredtiger_open('.','create,eviction_updates_trigger=9MB,'
+ 'eviction_updates_target=10MB'),
+ '/eviction updates target must be lower than the eviction updates trigger/')
+
def test_invalid_config(self):
msg = '/Unbalanced brackets/'
self.assertRaisesWithMessage(wiredtiger.WiredTigerError,
diff --git a/src/third_party/wiredtiger/test/suite/test_hs05.py b/src/third_party/wiredtiger/test/suite/test_hs05.py
index 6f869e83aaa..58cbfefccd7 100644
--- a/src/third_party/wiredtiger/test/suite/test_hs05.py
+++ b/src/third_party/wiredtiger/test/suite/test_hs05.py
@@ -26,8 +26,7 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
-from helper import copy_wiredtiger_home
-import wiredtiger, wttest
+import wttest
from wiredtiger import stat
from wtdataset import SimpleDataSet
from wtscenario import make_scenarios
@@ -38,8 +37,9 @@ from wtscenario import make_scenarios
class test_hs05(wttest.WiredTigerTestCase):
# Force a small cache, but disable eviction of dirty pages until the cache is full.
conn_config = 'cache_size=50MB,statistics=(fast),'
- conn_config += 'eviction_dirty_target=100,eviction_dirty_trigger=100,'
- conn_config += 'eviction_updates_target=100,eviction_updates_trigger=100'
+ conn_config += 'eviction_trigger=100,'
+ conn_config += 'eviction_dirty_target=95,eviction_dirty_trigger=100,'
+ conn_config += 'eviction_updates_target=95,eviction_updates_trigger=100'
session_config = 'isolation=snapshot'
stable = 1
key_format_values = [
diff --git a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable18.py b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable18.py
index d34e4ffb08b..01e0898a973 100644
--- a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable18.py
+++ b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable18.py
@@ -31,8 +31,6 @@
# aggregated_time_windows
# [END_TAGS]
-import fnmatch, os, shutil, time
-from helper import simulate_crash_restart
from test_rollback_to_stable01 import test_rollback_to_stable_base
from wiredtiger import stat
from wtdataset import SimpleDataSet
@@ -56,7 +54,8 @@ class test_rollback_to_stable18(test_rollback_to_stable_base):
scenarios = make_scenarios(key_format_values, prepare_values)
def conn_config(self):
- config = 'cache_size=50MB,in_memory=true,statistics=(all),log=(enabled=false),eviction_dirty_trigger=5,eviction_updates_trigger=5'
+ config = 'cache_size=50MB,in_memory=true,statistics=(all),log=(enabled=false),' \
+ 'eviction_dirty_trigger=10,eviction_updates_trigger=10'
return config
def test_rollback_to_stable(self):
diff --git a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable19.py b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable19.py
index 3f10b186b47..c07895c6316 100644
--- a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable19.py
+++ b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable19.py
@@ -26,7 +26,6 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
-import fnmatch, os, shutil, time
from helper import simulate_crash_restart
from test_rollback_to_stable01 import test_rollback_to_stable_base
from wiredtiger import stat, WT_NOTFOUND
@@ -56,7 +55,8 @@ class test_rollback_to_stable19(test_rollback_to_stable_base):
scenarios = make_scenarios(in_memory_values, key_format_values, restart_options)
def conn_config(self):
- config = 'cache_size=50MB,statistics=(all),log=(enabled=false),eviction_dirty_trigger=5,eviction_updates_trigger=5'
+ config = 'cache_size=50MB,statistics=(all),log=(enabled=false),eviction_dirty_trigger=10,' \
+ 'eviction_updates_trigger=10'
if self.in_memory:
config += ',in_memory=true'
else:
diff --git a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable28.py b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable28.py
index 50a8a8fb2fb..42f6861ca74 100755
--- a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable28.py
+++ b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable28.py
@@ -26,9 +26,8 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
-import os, shutil, re
+import re
from wiredtiger import stat
-import wttest
from wtdataset import SimpleDataSet
from helper import simulate_crash_restart
from test_rollback_to_stable01 import test_rollback_to_stable_base
@@ -44,8 +43,8 @@ class test_rollback_to_stable28(test_rollback_to_stable_base):
# Recovery connection config: The debug mode is only effective on high cache pressure as WiredTiger can potentially decide
# to do an update restore evict on a page when the cache pressure requirements are not met.
# This means setting eviction target low and cache size high.
- conn_recon = ',eviction_updates_trigger=10,eviction_dirty_trigger=5,cache_size=10MB,' + \
- 'debug_mode=(update_restore_evict=true),log=(recover=on)'
+ conn_recon = ',eviction_updates_trigger=10,eviction_dirty_trigger=5,eviction_dirty_target=1,' \
+ 'cache_size=10MB,debug_mode=(update_restore_evict=true),log=(recover=on)'
def parse_write_gen(self, uri):
meta_cursor = self.session.open_cursor('metadata:')