diff options
author | Etienne Petrel <etienne.petrel@mongodb.com> | 2022-09-22 01:58:36 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-09-22 02:27:43 +0000 |
commit | 3be23d6a1dcce377607e9ae24309e4dd5c7dd5f4 (patch) | |
tree | db7ea145af8bb479fc5a6dfdc093cde0812655fa | |
parent | fc566329be7cc37a3518500f66d76181bf5e3792 (diff) | |
download | mongo-3be23d6a1dcce377607e9ae24309e4dd5c7dd5f4.tar.gz |
Import wiredtiger: bb5c03d59037747b3c477bb58e4c82eb961e5589 from branch mongodb-master
ref: e440ba4506..bb5c03d590
for: 6.2.0-rc0
WT-9774 Avoid rolling back transactions in test_stat08 and re-enable the test (#8282)
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/test/suite/test_stat08.py | 20 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index cc878c7ebd1..120590819ed 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": "e440ba4506ddfdabd87fdacfb625da54aa1b3aeb" + "commit": "bb5c03d59037747b3c477bb58e4c82eb961e5589" } diff --git a/src/third_party/wiredtiger/test/suite/test_stat08.py b/src/third_party/wiredtiger/test/suite/test_stat08.py index 8cde3b7ab1b..88de52b0012 100644 --- a/src/third_party/wiredtiger/test/suite/test_stat08.py +++ b/src/third_party/wiredtiger/test/suite/test_stat08.py @@ -34,8 +34,10 @@ import wiredtiger, wttest # Session statistics for bytes read into the cache. class test_stat08(wttest.WiredTigerTestCase): - nentries = 350000 - conn_config = 'cache_size=10MB,statistics=(all)' + nentries = 100000 + # Leave the cache size on the default setting to avoid filling up the cache + # too much and triggering unnecessary rollbacks. + conn_config = 'statistics=(all)' entry_value = "abcde" * 40 BYTES_READ = wiredtiger.stat.session.bytes_read READ_TIME = wiredtiger.stat.session.read_time @@ -61,15 +63,15 @@ class test_stat08(wttest.WiredTigerTestCase): cur.search() [desc, pvalue, value] = cur.get_values() self.pr(' stat: \'%s\', \'%s\', \'%s\'' % (desc, pvalue, str(value))) - self.assertEqual(desc, exp_desc ) + self.assertEqual(desc, exp_desc) if k is self.BYTES_READ or k is self.READ_TIME: self.assertTrue(value > 0) - @skip("skipping this test: FIXME-WT-9774") def test_session_stats(self): - self.session = self.conn.open_session() - self.session.create("table:test_stat08", - "key_format=i,value_format=S") + # We want to configure for pages to be explicitly evicted when we are done with them so + # that we can correctly verify the statistic measuring bytes read from cache. + self.session = self.conn.open_session("debug=(release_evict_page=true)") + self.session.create("table:test_stat08", "key_format=i,value_format=S") cursor = self.session.open_cursor('table:test_stat08', None, None) self.session.begin_transaction() txn_dirty = self.get_stat(wiredtiger.stat.session.txn_bytes_dirty) @@ -78,8 +80,8 @@ class test_stat08(wttest.WiredTigerTestCase): for i in range(0, self.nentries): cursor[i] = self.entry_value # Since we're using an explicit transaction, we need to commit somewhat frequently. - # So check the statistics and commit/restart the transaction every 1000 operations. - if i % 1000 == 0: + # So check the statistics and commit/restart the transaction every 200 operations. + if i % 200 == 0: txn_dirty = self.get_stat(wiredtiger.stat.session.txn_bytes_dirty) self.assertNotEqual(txn_dirty, 0) self.session.commit_transaction() |