summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2021-12-21 17:27:26 +1100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-12-21 07:28:21 +0000
commit43b9c5d8e46b7ede0343a35c8571c68ae9e36492 (patch)
tree317d6288565cd59f982a541f2e8a790863918cf1
parent5d14bf120b7fc6158c43005cf8f160b3d91e4f91 (diff)
downloadmongo-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.data2
-rw-r--r--src/third_party/wiredtiger/test/csuite/wt4156_metadata_salvage/main.c10
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);