diff options
-rw-r--r-- | src/third_party/wiredtiger/bench/workgen/validate_mirror_tables.py | 26 | ||||
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 |
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" } |