summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/test
diff options
context:
space:
mode:
authorSiddhartha Mahajan <siddhartha.mahajan8899@mongodb.com>2022-11-04 00:16:08 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-11-04 00:45:59 +0000
commitf02acba54fd16b0ffd84a97a138e0208dd6e8b5c (patch)
tree0a51a9a046c1ad9e4fe1f17ca921984256a2e03c /src/third_party/wiredtiger/test
parent83c60c5c0becf03dc65cc49de1ac5ae4feb8654e (diff)
downloadmongo-f02acba54fd16b0ffd84a97a138e0208dd6e8b5c.tar.gz
Import wiredtiger: a69bf663f43889880669a5e9e5fd76107f9951b5 from branch mongodb-master
ref: 0cafef49af..a69bf663f4 for: 6.2.0-rc0 WT-9846 Use oldest unstable timestamp to clean history store when no stable updates are on chain
Diffstat (limited to 'src/third_party/wiredtiger/test')
-rwxr-xr-xsrc/third_party/wiredtiger/test/suite/test_rollback_to_stable06.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable06.py b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable06.py
index 676bf934b6e..38f1661166f 100755
--- a/src/third_party/wiredtiger/test/suite/test_rollback_to_stable06.py
+++ b/src/third_party/wiredtiger/test/suite/test_rollback_to_stable06.py
@@ -129,5 +129,20 @@ class test_rollback_to_stable06(test_rollback_to_stable_base):
else:
self.assertGreaterEqual(upd_aborted + hs_removed + keys_removed, nrows * 4)
+ if not self.in_memory and self.key_format == 'i':
+ # FIXME-WT-10017: WT-9846 is a temporary fix only for row store and a
+ # more complete fix including column store will be made in WT-10017.
+ # Once delivered the key_format == 'i' check is no longer needed.
+ #
+ # Reinsert the same updates with the same timestamps and flush to disk.
+ # If the updates have not been correctly removed by RTS WiredTiger will
+ # see the key already exists in the history store and abort.
+ self.large_updates(uri, value_a, ds, nrows, self.prepare, 20)
+ self.large_updates(uri, value_b, ds, nrows, self.prepare, 30)
+ self.large_updates(uri, value_c, ds, nrows, self.prepare, 40)
+ self.large_updates(uri, value_d, ds, nrows, self.prepare, 50)
+
+ self.session.checkpoint()
+
if __name__ == '__main__':
wttest.run()