summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/test/suite/test_tiered04.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/test/suite/test_tiered04.py')
-rwxr-xr-xsrc/third_party/wiredtiger/test/suite/test_tiered04.py35
1 files changed, 31 insertions, 4 deletions
diff --git a/src/third_party/wiredtiger/test/suite/test_tiered04.py b/src/third_party/wiredtiger/test/suite/test_tiered04.py
index 26254f4d33d..78a7e274e53 100755
--- a/src/third_party/wiredtiger/test/suite/test_tiered04.py
+++ b/src/third_party/wiredtiger/test/suite/test_tiered04.py
@@ -88,13 +88,19 @@ class test_tiered04(wttest.WiredTigerTestCase):
stat_cursor.close()
return val
+ def check(self, tc, n):
+ for i in range(0, n):
+ self.assertEqual(tc[str(i)], str(i))
+ tc.set_key(str(n))
+ self.assertEquals(tc.search(), wiredtiger.WT_NOTFOUND)
+
# Test calling the flush_tier API.
def test_tiered(self):
# Create three tables. One using the system tiered storage, one
# specifying its own bucket and object size and one using no
# tiered storage. Use stats to verify correct setup.
intl_page = 'internal_page_max=16K'
- base_create = 'key_format=S,' + intl_page
+ base_create = 'key_format=S,value_format=S,' + intl_page
self.pr("create sys")
self.session.create(self.uri, base_create)
conf = \
@@ -110,13 +116,34 @@ class test_tiered04(wttest.WiredTigerTestCase):
self.pr("create non tiered/local")
self.session.create(self.uri_none, base_create + conf)
- #self.pr("open cursor")
- #c = self.session.open_cursor(self.uri)
self.pr("flush tier")
+ c = self.session.open_cursor(self.uri)
+ c["0"] = "0"
+ self.check(c, 1)
+ c.close()
self.session.flush_tier(None)
- self.pr("flush tier again")
+ c = self.session.open_cursor(self.uri)
+ c["1"] = "1"
+ self.check(c, 2)
+ c.close()
+
+ c = self.session.open_cursor(self.uri)
+ c["2"] = "2"
+ self.check(c, 3)
+
+ self.pr("flush tier again, holding open cursor")
+ # FIXME-WT-7591 Remove the extra cursor close and open surrounding the flush_tier call.
+ # Having a cursor open during a flush_tier does not yet work, so the test closes it,
+ # and reopens after the flush_tier.
+ c.close()
self.session.flush_tier(None)
+ c = self.session.open_cursor(self.uri)
+
+ c["3"] = "3"
+ self.check(c, 4)
+ c.close()
+
calls = self.get_stat(stat.conn.flush_tier, None)
flush = 2
self.assertEqual(calls, flush)