diff options
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 1473cfdf575..7be46fd9b18 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-master", - "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{ @@ -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:') |