diff options
author | Etienne Petrel <etienne.petrel@mongodb.com> | 2022-05-18 03:39:46 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-05-18 11:42:24 +0000 |
commit | 764496458749f883d09e6f0709d8aa20a23c4e21 (patch) | |
tree | fa1a67993a7f34aec1897f7babee40211ae7c411 /src/third_party/wiredtiger | |
parent | 30f26a3f03c35d2aed6fe64a3cf6f75fc443734a (diff) | |
download | mongo-764496458749f883d09e6f0709d8aa20a23c4e21.tar.gz |
Import wiredtiger: b42a9c20e7171dc515424be87a6087941ad4d5e1 from branch mongodb-master
ref: 36da832b9a..b42a9c20e7
for: 6.1.0-rc0
Reverted ticket(s):
WT-8927 S3 Download objects from the bucket on test failure or preserve
Diffstat (limited to 'src/third_party/wiredtiger')
34 files changed, 80 insertions, 180 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 29a57511224..393cfb14ba9 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": "36da832b9af3bbea821e1680a6c0b1c5e80c7abb" + "commit": "b42a9c20e7171dc515424be87a6087941ad4d5e1" } diff --git a/src/third_party/wiredtiger/test/evergreen.yml b/src/third_party/wiredtiger/test/evergreen.yml index a5dd4e9b1e9..a04c79d1af0 100755 --- a/src/third_party/wiredtiger/test/evergreen.yml +++ b/src/third_party/wiredtiger/test/evergreen.yml @@ -2194,14 +2194,10 @@ tasks: # Only set verbose after having put the AWS access credentials into the environment. set -o verbose - virtualenv -p python3 venv - source venv/bin/activate - pip3 install boto3 - # Run S3 extension unit testing ext/storage_sources/s3_store/test/run_s3_unit_tests # Run Python testing for all tiered tests - ${test_env_vars|} python3 ../test/suite/run.py -j $(nproc) tiered + ${test_env_vars|} ${python_binary|python3} ../test/suite/run.py -j $(nproc) tiered - name: tiered-test-small tags: ["pull_request"] @@ -2223,14 +2219,10 @@ tasks: # Only set verbose after having put the AWS access credentials into the environment. set -o verbose - virtualenv -p python3 venv - source venv/bin/activate - pip3 install boto3 - # Run S3 extension unit testing ext/storage_sources/s3_store/test/run_s3_unit_tests # Run Python testing for tiered06 - ${test_env_vars|} python3 ../test/suite/run.py -j $(nproc) tiered06 + ${test_env_vars|} ${python_binary|python3} ../test/suite/run.py -j $(nproc) tiered06 - name: spinlock-gcc-test diff --git a/src/third_party/wiredtiger/test/suite/helper_tiered.py b/src/third_party/wiredtiger/test/suite/helper_tiered.py index e1beb345b7e..e91c36d2eb9 100644 --- a/src/third_party/wiredtiger/test/suite/helper_tiered.py +++ b/src/third_party/wiredtiger/test/suite/helper_tiered.py @@ -27,11 +27,6 @@ # OTHER DEALINGS IN THE SOFTWARE. # -try: - import boto3 -except ImportError: - pass - import datetime, inspect, os, random, wiredtiger # These routines help run the various storage sources. They are required to manage @@ -89,61 +84,53 @@ def get_check(storage_source, tc, base, n): storage_source.assertEquals(tc.search(), wiredtiger.WT_NOTFOUND) # Generate a unique object prefix for the S3 store. -def generate_s3_prefix(random_prefix = '', test_name = ''): +def generate_s3_prefix(test_name = ''): # Generates a unique prefix to be used with the object keys, eg: # "s3test/python/2022-31-01-16-34-10/623843294--". - # Objects with the prefix pattern "s3test/*" are deleted after a certain period of time + # Objects with the prefex pattern "s3test/*" are deleted after a certain period of time # according to the lifecycle rule on the S3 bucket. Should you wish to make any changes to the - # prefix pattern or lifecycle of the object, please speak to the release manager. - # Group all the python test objects under s3test/python/ + # prefix pattern or lifecycle of the object, please speak to the release manager. prefix = 's3test/python/' - # Group each test run together by random number and date. If a random prefix isn't provided - # generate a new one now. - if random_prefix is None: - random_prefix = str(random.randrange(1, 2147483646)) - prefix += datetime.datetime.now().strftime('%Y-%m-%d-%H-%M') + '--' + random_prefix +'/' - # Group all scenarios from the same test under the same test name. - prefix += test_name + '/' - - # Generate a random number to differentiate object files for tests that use multiple bucket - # prefixes. It is important to generate unique prefixes for different tests in the same class, - # so that the database namespace do not collide. - # Range up to int32_max, matches that of C++'s std::default_random_engine - prefix += str(random.randrange(1, 2147483646)) + '--' + prefix += datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S') + # Range upto int32_max, matches that of C++'s std::default_random_engine + prefix += '/' + str(random.randrange(1, 2147483646)) + '--' + # If the calling function has not provided a name, extract it from the stack. + # It is important to generate unique prefixes for different tests in the same class, + # so that the database namespace do not collide. + # 0th element on the stack is the current function. 1st element is the calling function. + if not test_name: + test_name = inspect.stack()[1][3] + prefix += test_name + '--' return prefix -def gen_tiered_storage_sources(random_prefix='', test_name='', tiered_only=False): - tiered_storage_sources = [ - ('dirstore', dict(is_tiered = True, - is_local_storage = True, - auth_token = get_auth_token('dir_store'), - bucket = get_bucket_name('dir_store', 0), - bucket1 = get_bucket_name('dir_store', 1), - bucket_prefix = "pfx_", - bucket_prefix1 = "pfx1_", - bucket_prefix2 = 'pfx2_', - num_ops=100, - ss_name = 'dir_store')), - ('s3', dict(is_tiered = True, - is_local_storage = False, - auth_token = get_auth_token('s3_store'), - bucket = get_bucket_name('s3_store', 0), - bucket1 = get_bucket_name('s3_store', 1), - bucket_prefix = generate_s3_prefix(random_prefix, test_name), - bucket_prefix1 = generate_s3_prefix(random_prefix, test_name), - bucket_prefix2 = generate_s3_prefix(random_prefix, test_name), - num_ops=20, - ss_name = 's3_store')), - ('non_tiered', dict(is_tiered = False)), - ] - - # Return a sublist to use for the tiered test scenarios as last item on list is not a scenario - # for the tiered tests. - if tiered_only: - return tiered_storage_sources[:2] - - return tiered_storage_sources +# Storage sources +tiered_storage_sources = [ + ('dirstore', dict(is_tiered = True, + is_local_storage = True, + auth_token = get_auth_token('dir_store'), + bucket = get_bucket_name('dir_store', 0), + bucket1 = get_bucket_name('dir_store', 1), + bucket_prefix = "pfx_", + bucket_prefix1 = "pfx1_", + bucket_prefix2 = 'pfx2_', + num_ops=100, + ss_name = 'dir_store')), + ('s3', dict(is_tiered = True, + is_local_storage = False, + auth_token = get_auth_token('s3_store'), + bucket = get_bucket_name('s3_store', 0), + bucket1 = get_bucket_name('s3_store', 1), + bucket_prefix = generate_s3_prefix(), + bucket_prefix1 = generate_s3_prefix(), + bucket_prefix2 = generate_s3_prefix(), + num_ops=20, + ss_name = 's3_store')), + ('non_tiered', dict(is_tiered = False)), +] + +# Sublist to use for the tiered test scenarios as last item on list is not a scenario. +storage_sources = tiered_storage_sources[:2] # This mixin class provides tiered storage configuration methods. class TieredConfigMixin: @@ -207,23 +194,3 @@ class TieredConfigMixin: self.skipTest('Tiered storage does not fully support alter operation.') else: raise - - def download_objects(self, bucket_name, prefix): - # The bucket from the storage source is expected to be a name and a region, separated by a - # semi-colon. eg: 'abcd;ap-southeast-2'. - bucket_name, region = bucket_name.split(';') - - # Get the bucket resource and list the objects within that bucket that match the prefix for a - # given test. - s3 = boto3.resource('s3') - bucket = s3.Bucket(bucket_name) - objects = list(bucket.objects.filter(Prefix=prefix)) - - # Create a directory within the test directory to download the objects to. - s3_object_files_path = 's3_objects/' - if not os.path.exists(s3_object_files_path): - os.makedirs(s3_object_files_path) - - for o in objects: - filename = s3_object_files_path + '/' + o.key.split('/')[-1] - bucket.download_file(o.key, filename) diff --git a/src/third_party/wiredtiger/test/suite/run.py b/src/third_party/wiredtiger/test/suite/run.py index 64c452578af..dee8b0a49fc 100755 --- a/src/third_party/wiredtiger/test/suite/run.py +++ b/src/third_party/wiredtiger/test/suite/run.py @@ -348,10 +348,6 @@ if __name__ == '__main__': args = sys.argv[1:] testargs = [] hook_names = [] - # Generate a random string to use as a prefix for the tiered test objects to group them under - # the same test run. - ss_random_prefix = str(random.randrange(1, 2147483646)) - while len(args) > 0: arg = args.pop(0) from unittest import defaultTestLoader as loader @@ -571,7 +567,7 @@ if __name__ == '__main__': # That way, verbose printing can be done at the class definition level. wttest.WiredTigerTestCase.globalSetup(preserve, removeAtStart, timestamp, gdbSub, lldbSub, verbose, wt_builddir, dirarg, longtest, zstdtest, - ignoreStdout, seedw, seedz, hookmgr, ss_random_prefix) + ignoreStdout, seedw, seedz, hookmgr) # Without any tests listed as arguments, do discovery if len(testargs) == 0: diff --git a/src/third_party/wiredtiger/test/suite/test_alter01.py b/src/third_party/wiredtiger/test/suite/test_alter01.py index 30f6435fc8e..a6caba59dd6 100644 --- a/src/third_party/wiredtiger/test/suite/test_alter01.py +++ b/src/third_party/wiredtiger/test/suite/test_alter01.py @@ -28,7 +28,7 @@ import wttest from wtscenario import make_scenarios -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources # test_alter01.py # Smoke-test the session alter operations. @@ -67,7 +67,6 @@ class test_alter01(TieredConfigMixin, wttest.WiredTigerTestCase): cache_alter=('', 'false', 'true') # Build all scenarios - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, types, hints, resid, reopen) def verify_metadata(self, metastr): diff --git a/src/third_party/wiredtiger/test/suite/test_alter02.py b/src/third_party/wiredtiger/test/suite/test_alter02.py index 27cb4bd7bb9..ba7fcf19856 100755 --- a/src/third_party/wiredtiger/test/suite/test_alter02.py +++ b/src/third_party/wiredtiger/test/suite/test_alter02.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import sys, wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_alter02.py @@ -64,7 +64,6 @@ class test_alter02(TieredConfigMixin, wttest.WiredTigerTestCase): ('no-reopen', dict(reopen=False)), ('reopen', dict(reopen=True)), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, conn_log, types, tables, reopen) # This test varies the log setting. Override the standard methods. diff --git a/src/third_party/wiredtiger/test/suite/test_alter03.py b/src/third_party/wiredtiger/test/suite/test_alter03.py index 8c7cff05d12..fa652c67522 100644 --- a/src/third_party/wiredtiger/test/suite/test_alter03.py +++ b/src/third_party/wiredtiger/test/suite/test_alter03.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_alter03.py @@ -36,7 +36,6 @@ class test_alter03(TieredConfigMixin, wttest.WiredTigerTestCase): name = "alter03" # Build all scenarios - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources) def verify_metadata(self, table_metastr, lsm_metastr, file_metastr): diff --git a/src/third_party/wiredtiger/test/suite/test_alter04.py b/src/third_party/wiredtiger/test/suite/test_alter04.py index 8988deb754d..8c7f87687ee 100644 --- a/src/third_party/wiredtiger/test/suite/test_alter04.py +++ b/src/third_party/wiredtiger/test/suite/test_alter04.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_alter04.py @@ -58,7 +58,6 @@ class test_alter04(TieredConfigMixin, wttest.WiredTigerTestCase): ('cache', dict(setting='os_cache_max')), ('cache_dirty', dict(setting='os_cache_dirty_max')), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, types, sizes, reopen, settings) def verify_metadata(self, metastr): diff --git a/src/third_party/wiredtiger/test/suite/test_alter05.py b/src/third_party/wiredtiger/test/suite/test_alter05.py index 7d2738d1ef9..6329dbe83ec 100644 --- a/src/third_party/wiredtiger/test/suite/test_alter05.py +++ b/src/third_party/wiredtiger/test/suite/test_alter05.py @@ -27,14 +27,14 @@ # OTHER DEALINGS IN THE SOFTWARE. import wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_alter05.py # Check the alter command succeeds even if the file is modified. class test_alter05(TieredConfigMixin, wttest.WiredTigerTestCase): name = "alter05" - tiered_storage_sources = gen_tiered_storage_sources() + scenarios = make_scenarios(tiered_storage_sources) # Setup custom connection config. diff --git a/src/third_party/wiredtiger/test/suite/test_excl.py b/src/third_party/wiredtiger/test/suite/test_excl.py index b62ac97c093..73f7a9472b2 100644 --- a/src/third_party/wiredtiger/test/suite/test_excl.py +++ b/src/third_party/wiredtiger/test/suite/test_excl.py @@ -26,7 +26,7 @@ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources import wiredtiger, wttest from wtscenario import make_scenarios @@ -36,7 +36,7 @@ class test_create_excl(TieredConfigMixin, wttest.WiredTigerTestCase): ('file', dict(type = 'file:')), ('table', dict(type = 'table:')), ] - tiered_storage_sources = gen_tiered_storage_sources() + scenarios = make_scenarios(tiered_storage_sources, types) def test_create_excl(self): diff --git a/src/third_party/wiredtiger/test/suite/test_export01.py b/src/third_party/wiredtiger/test/suite/test_export01.py index a31eb8c82a0..6f96592d3da 100644 --- a/src/third_party/wiredtiger/test/suite/test_export01.py +++ b/src/third_party/wiredtiger/test/suite/test_export01.py @@ -34,7 +34,7 @@ # directory, and then performing operation on the backup directory. from helper import copy_wiredtiger_home -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios import os, wttest @@ -44,7 +44,6 @@ class test_export01(TieredConfigMixin, wttest.WiredTigerTestCase): types = [ ('table', dict(type = 'table:')), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, types) diff --git a/src/third_party/wiredtiger/test/suite/test_import11.py b/src/third_party/wiredtiger/test/suite/test_import11.py index 9c0820777e8..e5acae8ab62 100644 --- a/src/third_party/wiredtiger/test/suite/test_import11.py +++ b/src/third_party/wiredtiger/test/suite/test_import11.py @@ -32,7 +32,7 @@ import glob, os, random, re, shutil, string import wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # Shared base class used by import tests. @@ -109,7 +109,6 @@ class test_import11(test_import_base): ts = [10*k for k in range(1, len(keys)+1)] create_config = 'allocation_size=512,key_format=u,value_format=u' - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources) def create_and_populate(self, uri): diff --git a/src/third_party/wiredtiger/test/suite/test_schema01.py b/src/third_party/wiredtiger/test/suite/test_schema01.py index b4ce328e8df..a5ad58343e4 100644 --- a/src/third_party/wiredtiger/test/suite/test_schema01.py +++ b/src/third_party/wiredtiger/test/suite/test_schema01.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios pop_data = [ @@ -48,7 +48,6 @@ expected_out = [ # test_schema01.py # Test that tables are reconciled correctly when they are empty. class test_schema01(TieredConfigMixin, wttest.WiredTigerTestCase): - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources) '''Test various tree types becoming empty''' diff --git a/src/third_party/wiredtiger/test/suite/test_schema02.py b/src/third_party/wiredtiger/test/suite/test_schema02.py index 5353ab76988..b89f097994d 100755 --- a/src/third_party/wiredtiger/test/suite/test_schema02.py +++ b/src/third_party/wiredtiger/test/suite/test_schema02.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_schema02.py @@ -43,7 +43,6 @@ class test_schema02(TieredConfigMixin, wttest.WiredTigerTestCase): ('lsm', dict(type='lsm', idx_config=',type=lsm')), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, types) def expect_failure_colgroup(self, name, configstr, match): diff --git a/src/third_party/wiredtiger/test/suite/test_schema03.py b/src/third_party/wiredtiger/test/suite/test_schema03.py index 30a516edd1f..1204415217b 100755 --- a/src/third_party/wiredtiger/test/suite/test_schema03.py +++ b/src/third_party/wiredtiger/test/suite/test_schema03.py @@ -33,7 +33,7 @@ import os import suite_random -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources import wtscenario, wttest try: @@ -276,7 +276,6 @@ class test_schema03(TieredConfigMixin, wttest.WiredTigerTestCase): table_args_scenarios = wtscenario.quick_scenarios('s_extra_table_args', ['', ',type=file', ',type=lsm'], [0.5, 0.3, 0.2]) - tiered_storage_sources = gen_tiered_storage_sources() scenarios = wtscenario.make_scenarios( tiered_storage_sources, restart_scenarios, ntable_scenarios, ncolgroup_scenarios, nindex_scenarios, idx_args_scenarios, diff --git a/src/third_party/wiredtiger/test/suite/test_schema04.py b/src/third_party/wiredtiger/test/suite/test_schema04.py index 7e59b3c19ab..4203fee69fc 100644 --- a/src/third_party/wiredtiger/test/suite/test_schema04.py +++ b/src/third_party/wiredtiger/test/suite/test_schema04.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_schema04.py @@ -53,7 +53,6 @@ class test_schema04(TieredConfigMixin, wttest.WiredTigerTestCase): ('index-after', { 'create_index' : 2 }), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, index) def create_indices(self): diff --git a/src/third_party/wiredtiger/test/suite/test_schema05.py b/src/third_party/wiredtiger/test/suite/test_schema05.py index a82ded35f30..2c3dee3ba04 100644 --- a/src/third_party/wiredtiger/test/suite/test_schema05.py +++ b/src/third_party/wiredtiger/test/suite/test_schema05.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_schema05.py @@ -57,7 +57,6 @@ class test_schema05(TieredConfigMixin, wttest.WiredTigerTestCase): ('index-after', { 'create_index' : 2 }), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, index) def conn_extensions(self, extlist): diff --git a/src/third_party/wiredtiger/test/suite/test_schema06.py b/src/third_party/wiredtiger/test/suite/test_schema06.py index 62d145b1664..eb329295e22 100644 --- a/src/third_party/wiredtiger/test/suite/test_schema06.py +++ b/src/third_party/wiredtiger/test/suite/test_schema06.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_schema06.py @@ -43,7 +43,6 @@ class test_schema06(TieredConfigMixin, wttest.WiredTigerTestCase): ('lsm', { 'type': 'lsm', 'idx_config' : ',type=lsm' }), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, types) def flip(self, inum, val): diff --git a/src/third_party/wiredtiger/test/suite/test_schema07.py b/src/third_party/wiredtiger/test/suite/test_schema07.py index 1f70111be66..5a9132bfedd 100644 --- a/src/third_party/wiredtiger/test/suite/test_schema07.py +++ b/src/third_party/wiredtiger/test/suite/test_schema07.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios # test_schema07.py @@ -37,7 +37,6 @@ class test_schema07(TieredConfigMixin, wttest.WiredTigerTestCase): conn_config = 'cache_size=10MB' - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources) @wttest.longtest("Creating many tables shouldn't fill the cache") diff --git a/src/third_party/wiredtiger/test/suite/test_schema08.py b/src/third_party/wiredtiger/test/suite/test_schema08.py index 1ff529a0a16..67dfb6ca53c 100644 --- a/src/third_party/wiredtiger/test/suite/test_schema08.py +++ b/src/third_party/wiredtiger/test/suite/test_schema08.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, shutil -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from suite_subprocess import suite_subprocess import wttest from wtscenario import make_scenarios @@ -60,7 +60,6 @@ class test_schema08(TieredConfigMixin, wttest.WiredTigerTestCase, suite_subproce ('no_ckpt', dict(ckpt=False)), ('with_ckpt', dict(ckpt=True)), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, types, ops, ckpt) count = 0 lsns = [] diff --git a/src/third_party/wiredtiger/test/suite/test_tiered02.py b/src/third_party/wiredtiger/test/suite/test_tiered02.py index 2ff667ee946..6c2daf7db4d 100755 --- a/src/third_party/wiredtiger/test/suite/test_tiered02.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered02.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, storage_sources from wtdataset import SimpleDataSet, ComplexDataSet from wtscenario import make_scenarios @@ -37,13 +37,12 @@ class test_tiered02(wttest.WiredTigerTestCase, TieredConfigMixin): complex_dataset = [ ('simple_ds', dict(complex_dataset=False)), - # Commented out complex dataset that tests column groups and indexes because it crashes + # Commented out compplex dataset that tests column groups and indexes because it crashes # in the middle of the test. FIXME: WT-9001 #('complex_ds', dict(complex_dataset=True)), ] # Make scenarios for different cloud service providers - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered02', tiered_only=True) scenarios = make_scenarios(storage_sources, complex_dataset) uri = "table:test_tiered02" diff --git a/src/third_party/wiredtiger/test/suite/test_tiered03.py b/src/third_party/wiredtiger/test/suite/test_tiered03.py index 8ad128f8117..7412ed2bbee 100755 --- a/src/third_party/wiredtiger/test/suite/test_tiered03.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered03.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, re -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources, get_conn_config +from helper_tiered import TieredConfigMixin, storage_sources, get_conn_config import wtscenario, wttest from wtdataset import SimpleDataSet @@ -42,8 +42,6 @@ class test_tiered03(wttest.WiredTigerTestCase, TieredConfigMixin): # sharing would probably need to be reworked. uri = 'file:test_tiered03' - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered03', tiered_only=True) - # Occasionally add a lot of records to vary the amount of work flush does. record_count_scenarios = wtscenario.quick_scenarios( 'nrecs', [10, 10000], [0.9, 0.1]) @@ -55,7 +53,7 @@ class test_tiered03(wttest.WiredTigerTestCase, TieredConfigMixin): def conn_config(self): bucket_ret = self.bucket - # The bucket format for the S3 store is the name and the region separated by a semi-colon. + # The bucket format for the S3 store is the name and the region separataed by a semi-colon. if self.ss_name == 's3_store': cache_dir = self.bucket[:self.bucket.find(';')] + '-cache' else: diff --git a/src/third_party/wiredtiger/test/suite/test_tiered04.py b/src/third_party/wiredtiger/test/suite/test_tiered04.py index 87252ade982..ea7cf74c16c 100644 --- a/src/third_party/wiredtiger/test/suite/test_tiered04.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered04.py @@ -28,7 +28,7 @@ import os, time, wiredtiger, wttest from wiredtiger import stat -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources, get_conn_config, get_check +from helper_tiered import TieredConfigMixin, storage_sources, get_conn_config, get_check from wtscenario import make_scenarios StorageSource = wiredtiger.StorageSource # easy access to constants @@ -37,7 +37,6 @@ StorageSource = wiredtiger.StorageSource # easy access to constants # Basic tiered storage API test. class test_tiered04(wttest.WiredTigerTestCase, TieredConfigMixin): # Make scenarios for different cloud service providers - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered04', tiered_only=True) scenarios = make_scenarios(storage_sources) # If the 'uri' changes all the other names must change with it. diff --git a/src/third_party/wiredtiger/test/suite/test_tiered06.py b/src/third_party/wiredtiger/test/suite/test_tiered06.py index 886c96fb729..3fd26da162c 100755 --- a/src/third_party/wiredtiger/test/suite/test_tiered06.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered06.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import inspect, os, wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, storage_sources from wtscenario import make_scenarios FileSystem = wiredtiger.FileSystem # easy access to constants @@ -38,9 +38,6 @@ FileSystem = wiredtiger.FileSystem # easy access to constants # However, it is useful to do tests of this API independently. class test_tiered06(wttest.WiredTigerTestCase, TieredConfigMixin): - - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered06', tiered_only=True) - # Make scenarios for different cloud service providers scenarios = make_scenarios(storage_sources) diff --git a/src/third_party/wiredtiger/test/suite/test_tiered07.py b/src/third_party/wiredtiger/test/suite/test_tiered07.py index faa278547bc..07425a0a2be 100644 --- a/src/third_party/wiredtiger/test/suite/test_tiered07.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered07.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources, get_check +from helper_tiered import TieredConfigMixin, storage_sources, get_check from wtscenario import make_scenarios StorageSource = wiredtiger.StorageSource # easy access to constants @@ -36,8 +36,6 @@ StorageSource = wiredtiger.StorageSource # easy access to constants # Basic tiered storage API for schema operations. class test_tiered07(wttest.WiredTigerTestCase, TieredConfigMixin): - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered07', tiered_only=True) - # FIXME-WT-8897 Disabled S3 (only indexing dirstore in storage sources) as S3 directory listing # is interpreting a directory to end in a '/', whereas the code in the tiered storage doesn't # expect that. Enable when fixed. diff --git a/src/third_party/wiredtiger/test/suite/test_tiered08.py b/src/third_party/wiredtiger/test/suite/test_tiered08.py index f9b764b8eef..1da3bea042c 100644 --- a/src/third_party/wiredtiger/test/suite/test_tiered08.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered08.py @@ -33,7 +33,7 @@ # import os, threading, time, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources, get_conn_config +from helper_tiered import TieredConfigMixin, storage_sources, get_conn_config from wiredtiger import stat from wtthread import checkpoint_thread, flush_tier_thread from wtscenario import make_scenarios @@ -43,9 +43,6 @@ from wtscenario import make_scenarios # Run background checkpoints and flush_tier operations while inserting # data into a table from another thread. class test_tiered08(wttest.WiredTigerTestCase, TieredConfigMixin): - - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered08', tiered_only=True) - # Make scenarios for different cloud service providers scenarios = make_scenarios(storage_sources) @@ -135,6 +132,6 @@ class test_tiered08(wttest.WiredTigerTestCase, TieredConfigMixin): self.reopen_conn() self.verify(key_count) - + if __name__ == '__main__': wttest.run() diff --git a/src/third_party/wiredtiger/test/suite/test_tiered09.py b/src/third_party/wiredtiger/test/suite/test_tiered09.py index a02dca5d2a0..3c400217257 100755 --- a/src/third_party/wiredtiger/test/suite/test_tiered09.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered09.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources, get_conn_config, get_check, generate_s3_prefix +from helper_tiered import TieredConfigMixin, storage_sources, get_conn_config, get_check from wtscenario import make_scenarios StorageSource = wiredtiger.StorageSource # easy access to constants @@ -35,9 +35,6 @@ StorageSource = wiredtiger.StorageSource # easy access to constants # Test tiered storage with sequential connections with different prefixes. class test_tiered09(wttest.WiredTigerTestCase, TieredConfigMixin): # Make scenarios for different cloud service providers - - storage_sources = gen_tiered_storage_sources(wttest.WiredTigerTestCase._ss_random_prefix, 'test_tiered09', tiered_only=True) - scenarios = make_scenarios(storage_sources) # If the 'uri' changes all the other names must change with it. diff --git a/src/third_party/wiredtiger/test/suite/test_tiered10.py b/src/third_party/wiredtiger/test/suite/test_tiered10.py index 0a1e1c0f30e..0aa32594fbd 100755 --- a/src/third_party/wiredtiger/test/suite/test_tiered10.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered10.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources, get_conn_config, get_check +from helper_tiered import TieredConfigMixin, storage_sources, get_conn_config, get_check from wtscenario import make_scenarios StorageSource = wiredtiger.StorageSource # easy access to constants @@ -35,9 +35,6 @@ StorageSource = wiredtiger.StorageSource # easy access to constants # Test tiered storage with simultaneous connections using different # prefixes to the same bucket directory but different local databases. class test_tiered10(wttest.WiredTigerTestCase, TieredConfigMixin): - - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered10', tiered_only=True) - # Make scenarios for different cloud service providers scenarios = make_scenarios(storage_sources) diff --git a/src/third_party/wiredtiger/test/suite/test_tiered11.py b/src/third_party/wiredtiger/test/suite/test_tiered11.py index 6ea347f9831..b5d815674cf 100644 --- a/src/third_party/wiredtiger/test/suite/test_tiered11.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered11.py @@ -27,16 +27,13 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, wiredtiger, wttest -from helper_tiered import get_conn_config, gen_tiered_storage_sources, TieredConfigMixin +from helper_tiered import get_conn_config, storage_sources, TieredConfigMixin from wtscenario import make_scenarios StorageSource = wiredtiger.StorageSource # easy access to constants # test_tiered11.py # Test flush time and flush timestamp in metadata. class test_tiered11(wttest.WiredTigerTestCase, TieredConfigMixin): - - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered11', tiered_only=True) - # Make scenarios for different cloud service providers scenarios = make_scenarios(storage_sources) diff --git a/src/third_party/wiredtiger/test/suite/test_tiered12.py b/src/third_party/wiredtiger/test/suite/test_tiered12.py index 7db63932ad6..efc10a71cd5 100755 --- a/src/third_party/wiredtiger/test/suite/test_tiered12.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered12.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, time, wiredtiger, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources, get_conn_config, get_check +from helper_tiered import TieredConfigMixin, storage_sources, get_conn_config, get_check from wtscenario import make_scenarios StorageSource = wiredtiger.StorageSource # easy access to constants @@ -35,7 +35,6 @@ StorageSource = wiredtiger.StorageSource # easy access to constants # Basic tiered storage API test error for tiered manager and flush_tier. class test_tiered12(wttest.WiredTigerTestCase, TieredConfigMixin): # Make scenarios for different cloud service providers - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered12', tiered_only=True) scenarios = make_scenarios(storage_sources) # If the 'uri' changes all the other names must change with it. diff --git a/src/third_party/wiredtiger/test/suite/test_tiered13.py b/src/third_party/wiredtiger/test/suite/test_tiered13.py index cd5b5f56576..8e0352a1ab3 100644 --- a/src/third_party/wiredtiger/test/suite/test_tiered13.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered13.py @@ -30,13 +30,11 @@ # Check that importing tiered tables returns an error. import os, shutil, wiredtiger -from helper_tiered import get_conn_config, gen_tiered_storage_sources, TieredConfigMixin +from helper_tiered import get_conn_config, storage_sources, TieredConfigMixin from test_import01 import test_import_base from wtscenario import make_scenarios -import wttest class test_tiered13(test_import_base, TieredConfigMixin): - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered13', tiered_only=True) # Make scenarios for different cloud service providers scenarios = make_scenarios(storage_sources) @@ -154,4 +152,3 @@ class test_tiered13(test_import_base, TieredConfigMixin): # Try to import via a renamed object with metadata. self.assertRaisesWithMessage(wiredtiger.WiredTigerError, lambda: self.session.create(self.otheruri, import_meta), msg) - diff --git a/src/third_party/wiredtiger/test/suite/test_tiered14.py b/src/third_party/wiredtiger/test/suite/test_tiered14.py index 5b945ccb060..567db19c1c9 100644 --- a/src/third_party/wiredtiger/test/suite/test_tiered14.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered14.py @@ -27,7 +27,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os, random, wttest -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, storage_sources from wtdataset import TrackedSimpleDataSet, TrackedComplexDataSet from wtscenario import make_scenarios @@ -35,16 +35,13 @@ from wtscenario import make_scenarios # Test somewhat arbitrary combinations of flush_tier, checkpoint, restarts, # data additions and updates. class test_tiered14(wttest.WiredTigerTestCase, TieredConfigMixin): - - storage_sources = gen_tiered_storage_sources(wttest.getss_random_prefix(), 'test_tiered14', tiered_only=True) - uri = "table:test_tiered14-{}" # format for subtests # FIXME-WT-7833: enable the commented scenarios and run the # test with the --long option. # The multiplier makes the size of keys and values progressively larger. - # A multiplier of 0 makes the keys and values a single length. + # A multipler of 0 makes the keys and values a single length. multiplier = [ ('0', dict(multiplier=0)), ('S', dict(multiplier=1)), diff --git a/src/third_party/wiredtiger/test/suite/test_tiered15.py b/src/third_party/wiredtiger/test/suite/test_tiered15.py index f6cc56e9322..b7f72a038c1 100644 --- a/src/third_party/wiredtiger/test/suite/test_tiered15.py +++ b/src/third_party/wiredtiger/test/suite/test_tiered15.py @@ -29,7 +29,7 @@ # test_tiered15.py # Test the "type" configuration in session.create with tiered storage. -from helper_tiered import TieredConfigMixin, gen_tiered_storage_sources +from helper_tiered import TieredConfigMixin, tiered_storage_sources from wtscenario import make_scenarios import wiredtiger, wttest @@ -52,7 +52,6 @@ class test_tiered15(TieredConfigMixin, wttest.WiredTigerTestCase): ('nontiered_table', dict(is_tiered_table=False)), ] - tiered_storage_sources = gen_tiered_storage_sources() scenarios = make_scenarios(tiered_storage_sources, types) def test_create_type_config(self): diff --git a/src/third_party/wiredtiger/test/suite/wttest.py b/src/third_party/wiredtiger/test/suite/wttest.py index a95880865fa..cdcf42166b1 100755 --- a/src/third_party/wiredtiger/test/suite/wttest.py +++ b/src/third_party/wiredtiger/test/suite/wttest.py @@ -209,8 +209,7 @@ class WiredTigerTestCase(unittest.TestCase): @staticmethod def globalSetup(preserveFiles = False, removeAtStart = True, useTimestamp = False, gdbSub = False, lldbSub = False, verbose = 1, builddir = None, dirarg = None, - longtest = False, zstdtest = False, ignoreStdout = False, seedw = 0, seedz = 0, - hookmgr = None, ss_random_prefix = 0): + longtest = False, zstdtest = False, ignoreStdout = False, seedw = 0, seedz = 0, hookmgr = None): WiredTigerTestCase._preserveFiles = preserveFiles d = 'WT_TEST' if dirarg == None else dirarg if useTimestamp: @@ -237,7 +236,6 @@ class WiredTigerTestCase(unittest.TestCase): WiredTigerTestCase._concurrent = False WiredTigerTestCase._seeds = [521288629, 362436069] WiredTigerTestCase._randomseed = False - WiredTigerTestCase._ss_random_prefix = ss_random_prefix WiredTigerTestCase._retriesAfterRollback = 0 WiredTigerTestCase._testsRun = 0 if hookmgr == None: @@ -578,13 +576,6 @@ class WiredTigerTestCase(unittest.TestCase): passed = not error and not failure and not exc_failure - # Download the files from the S3 bucket for tiered tests if the test fails or preserve is - # turned on. - if hasattr(self, 'ss_name') and self.ss_name == 's3_store' and \ - ((not passed and not self.skipped) or (WiredTigerTestCase._preserveFiles)): - self.download_objects(self.bucket, self.bucket_prefix) - self.pr('downloading s3 files') - self.pr('finishing') # Close all connections that weren't explicitly closed. @@ -969,9 +960,6 @@ def islongtest(): def getseed(): return WiredTigerTestCase._seeds -def getss_random_prefix(): - return WiredTigerTestCase._ss_random_prefix - def runsuite(suite, parallel): suite_to_run = suite if parallel > 1: |