summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Anisimov <alexey.anisimov@mongodb.com>2022-02-04 16:37:48 +1100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-02-04 06:05:41 +0000
commita19d082465f66c7392626f5082f7c00ce49c869d (patch)
tree08ce2a325e2eb2155be0c3c863524f8f121ba609
parent2a473fa3929f0f7ff9669cb156c3079a7b5b022b (diff)
downloadmongo-a19d082465f66c7392626f5082f7c00ce49c869d.tar.gz
Import wiredtiger: 781d8746198fdce53f2dbea8485635f8965595eb from branch mongodb-master
ref: f76e9e4452..781d874619 for: 5.3.0 WT-8709 RTS: Do not hold the oldest id of logged tables.
-rw-r--r--src/third_party/wiredtiger/import.data2
-rw-r--r--src/third_party/wiredtiger/src/include/txn_inline.h6
2 files changed, 5 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index 10afb18dd18..e3dc839508c 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": "f76e9e4452ef39d30a5349a2bb411b6db937de96"
+ "commit": "781d8746198fdce53f2dbea8485635f8965595eb"
}
diff --git a/src/third_party/wiredtiger/src/include/txn_inline.h b/src/third_party/wiredtiger/src/include/txn_inline.h
index 68f3a523458..dfe431aee14 100644
--- a/src/third_party/wiredtiger/src/include/txn_inline.h
+++ b/src/third_party/wiredtiger/src/include/txn_inline.h
@@ -470,11 +470,13 @@ __wt_txn_oldest_id(WT_SESSION_IMPL *session)
/*
* The read of the transaction ID pinned by a checkpoint needs to be carefully ordered: if a
* checkpoint is starting and we have to start checking the pinned ID, we take the minimum of it
- * with the oldest ID, which is what we want.
+ * with the oldest ID, which is what we want. The logged tables are excluded as part of RTS, so
+ * there is no need of holding their oldest_id
*/
WT_READ_BARRIER();
- if (!F_ISSET(conn, WT_CONN_RECOVERING)) {
+ if (!F_ISSET(conn, WT_CONN_RECOVERING) || session->dhandle == NULL ||
+ __wt_btree_immediately_durable(session)) {
/*
* Checkpoint transactions often fall behind ordinary application threads. If there is an
* active checkpoint, keep changes until checkpoint is finished.