summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/test/suite/test_hs26.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/test/suite/test_hs26.py')
-rw-r--r--src/third_party/wiredtiger/test/suite/test_hs26.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/third_party/wiredtiger/test/suite/test_hs26.py b/src/third_party/wiredtiger/test/suite/test_hs26.py
index 9aab2322c43..acb3bd07790 100644
--- a/src/third_party/wiredtiger/test/suite/test_hs26.py
+++ b/src/third_party/wiredtiger/test/suite/test_hs26.py
@@ -69,6 +69,10 @@ class test_hs26(wttest.WiredTigerTestCase):
# Other cases of overlapping the key count are still interesting so we still generate
# the full product of the scenarios.
+ visibility_values = [
+ ('not_globally_visible', dict(ts1_globally_visible=False)),
+ ('globally_visible', dict(ts1_globally_visible=True)),
+ ]
nrows_values = [
('more', dict(nrows_1=103, nrows_2=211)),
('same', dict(nrows_1=211, nrows_2=211)),
@@ -85,7 +89,8 @@ class test_hs26(wttest.WiredTigerTestCase):
('17', dict(value_modulus_2=17)),
]
- scenarios = make_scenarios(nrows_values, value_modulus_1_values, value_modulus_2_values)
+ scenarios = make_scenarios(visibility_values,
+ nrows_values, value_modulus_1_values, value_modulus_2_values)
value_1 = 'a' * 500
value_2 = 'd' * 500
@@ -171,8 +176,12 @@ class test_hs26(wttest.WiredTigerTestCase):
# Write the first set of values at timestamp_1.
self.make_updates(ds.uri, ds, self.value_1, self.value_modulus_1, self.nrows_1, self.timestamp_1)
+ # Optionally make the first set of values globally visible (and stable).
+ if self.ts1_globally_visible:
+ self.conn.set_timestamp('oldest_timestamp=' + self.timestamp_str(self.timestamp_1) +
+ ',stable_timestamp=' + self.timestamp_str(self.timestamp_1))
+
# Create a long running read transaction in a separate session.
- # (Is it necessary for it to be separate? Not sure.)
session_read = self.conn.open_session()
session_read.begin_transaction('read_timestamp=' + self.timestamp_str(self.timestamp_1))
@@ -186,8 +195,6 @@ class test_hs26(wttest.WiredTigerTestCase):
self.check(self.session, ds.uri, self.timestamp_1, self.timestamp_1)
self.check(self.session, ds.uri, self.timestamp_2, self.timestamp_2)
- self.session.breakpoint()
-
# Now forcibly evict, so that all the pages are RLE-encoded and then read back in.
# There doesn't seem to be any way to just forcibly evict an entire table, so what
# I'm going to do is assume that each page can hold at least 41 values, and evict