summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Butler <135883+marcbutler@users.noreply.github.com>2023-04-04 02:57:01 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-04 03:57:13 +0000
commitb017745eb8b6348444433a329d40b7a974a70046 (patch)
tree3510a707230a0442d8b374a1a043170a3c2ac436
parenta6e7f9039f3534be07980d92565d646ed7d13a13 (diff)
downloadmongo-b017745eb8b6348444433a329d40b7a974a70046.tar.gz
Import wiredtiger: f8548fe2f4b7686395777bb6d6565eee31e4a508 from branch mongodb-master
ref: 5eb8f7e980..f8548fe2f4 for: 7.0.0-rc0 WT-10856 Update workgen mirror validation script
-rw-r--r--src/third_party/wiredtiger/bench/workgen/validate_mirror_tables.py26
-rw-r--r--src/third_party/wiredtiger/import.data2
2 files changed, 15 insertions, 13 deletions
diff --git a/src/third_party/wiredtiger/bench/workgen/validate_mirror_tables.py b/src/third_party/wiredtiger/bench/workgen/validate_mirror_tables.py
index 0d72369887e..517a47ead98 100644
--- a/src/third_party/wiredtiger/bench/workgen/validate_mirror_tables.py
+++ b/src/third_party/wiredtiger/bench/workgen/validate_mirror_tables.py
@@ -29,7 +29,7 @@
# ------------------------------------------------------------------------------
# Given a database directory generated by Workgen, find and compare the mirrored
-# data files. Returns zero on success if all mirror pairs contain the same data.
+# tables. Returns zero on success if all mirror pairs contain the same data.
# Returns a non-zero value on failure if any mirror pair contains a mismatch.
#
# Note that the wiredtiger/tools directory must be on your PYTHONPATH.
@@ -46,13 +46,14 @@ def usage_exit():
print(' database_dir is a POSIX pathname to a WiredTiger home directory')
sys.exit(1)
-# Given a database directory, return all files with a '.wt' extension.
+# Given a database directory, return all workgen tables.
def get_wiredtiger_db_files(dir):
- files = [f for f in os.listdir(dir) if f.endswith('.wt')]
+ files = [f[:-3] for f in os.listdir(dir) \
+ if f.endswith('.wt') and not f.startswith('WiredTiger')]
return files
-# Given a list of database files, return a list of mirrored uris.
+# Given a list of database tables, return a list of mirrored uri pairs.
def get_mirrors(db_dir, db_files):
mirrors = []
@@ -62,11 +63,11 @@ def get_mirrors(db_dir, db_files):
if filename not in db_files_remaining:
continue
db_files_remaining.remove(filename)
- mirror_filename = get_mirror_file(db_dir, f'file:{filename}')
+ mirror_filename = get_mirror_file(db_dir, f'table:{filename}')
if mirror_filename is not None:
db_files_remaining.remove(mirror_filename)
- mirrors.append([f'{db_dir}/file:{filename}',
- f'{db_dir}/file:{mirror_filename}'])
+ mirrors.append([f'{db_dir}/table:{filename}',
+ f'{db_dir}/table:{mirror_filename}'])
return mirrors
@@ -81,7 +82,7 @@ def get_mirror_file(db_dir, filename):
metadata = c[filename]
c.close()
- result=re.findall('app_metadata="([^"]*)"', metadata)
+ result = re.findall('app_metadata="([^"]*)"', metadata)
mirror = None
if result:
@@ -89,9 +90,10 @@ def get_mirror_file(db_dir, filename):
for a, b in (element.split('=')
for element in result[0].split(',')))
- if app_metadata['workgen_dynamic_table'] == 'true':
+ if app_metadata.get('workgen_dynamic_table') == 'true' and \
+ app_metadata.get('workgen_table_mirror') != None :
mirror = app_metadata['workgen_table_mirror']
- mirror = mirror.split(':')[1] + '.wt'
+ mirror = mirror.split(':')[1]
session.close()
connection.close()
@@ -120,8 +122,8 @@ def main(sysargs):
failure_count += 1
if failure_count == 0:
- print(f"Successfully validated {len(mirrors)} table mirrors in database " \
- f"directory '{db_dir}'.")
+ print(f"Successfully validated {len(mirrors)} table mirrors in " \
+ f"database directory '{db_dir}'.")
else:
print(f"Mirrored table validation failed for {failure_count} of " \
f"{len(mirrors)} table mirrors in database directory '{db_dir}'.")
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index b94a00caf2a..7593a4febf2 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": "5eb8f7e980fb5323d007ce1b7ec3cefa63751797"
+ "commit": "f8548fe2f4b7686395777bb6d6565eee31e4a508"
}