diff options
author | Luke Chen <luke.chen@mongodb.com> | 2021-12-21 17:27:26 +1100 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-12-21 07:28:21 +0000 |
commit | 43b9c5d8e46b7ede0343a35c8571c68ae9e36492 (patch) | |
tree | 317d6288565cd59f982a541f2e8a790863918cf1 | |
parent | 5d14bf120b7fc6158c43005cf8f160b3d91e4f91 (diff) | |
download | mongo-43b9c5d8e46b7ede0343a35c8571c68ae9e36492.tar.gz |
Import wiredtiger: 93587d1bd598ef1eef01b2435e0ed0098437e9b9 from branch mongodb-5.2
ref: 6061aad30d..93587d1bd5
for: 5.2.0-rc2
WT-8149 Updating metadata salvage csuite test to handle salvaging table metadata without salvaging file metadata
-rw-r--r-- | src/third_party/wiredtiger/import.data | 2 | ||||
-rw-r--r-- | src/third_party/wiredtiger/test/csuite/wt4156_metadata_salvage/main.c | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 53062e176b4..37213179ee1 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-5.2", - "commit": "6061aad30d3e7c837d607d96f76c6ed568d54b75" + "commit": "93587d1bd598ef1eef01b2435e0ed0098437e9b9" } diff --git a/src/third_party/wiredtiger/test/csuite/wt4156_metadata_salvage/main.c b/src/third_party/wiredtiger/test/csuite/wt4156_metadata_salvage/main.c index 9737cab9b3d..1de7ad55c80 100644 --- a/src/third_party/wiredtiger/test/csuite/wt4156_metadata_salvage/main.c +++ b/src/third_party/wiredtiger/test/csuite/wt4156_metadata_salvage/main.c @@ -288,7 +288,15 @@ verify_metadata(WT_CONNECTION *conn, TABLE_INFO *tables) else if (t->verified != true) printf("%s not seen in metadata\n", t->name); else { - testutil_check(wt_session->open_cursor(wt_session, t->name, NULL, NULL, &cursor)); + if ((ret = wt_session->open_cursor(wt_session, t->name, NULL, NULL, &cursor)) != 0) { + /* + * It is possible for the metadata file to contain a table entry and no associated + * file entry as WiredTiger didn't salvage the block associated with the file entry. + */ + if (ret == ENOENT) + continue; + testutil_die(ret, "failed to open cursor on table"); + } while ((ret = cursor->next(cursor)) == 0) { testutil_check(cursor->get_value(cursor, &kv)); testutil_assert(strcmp(kv, VALUE) == 0); |