summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/kv
diff options
context:
space:
mode:
authorGregory Wlodarek <gregory.wlodarek@mongodb.com>2020-08-31 22:59:54 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-10-03 04:03:21 +0000
commit97fdfbefdc6841d0b07d0bf54a28c86c70ca5e19 (patch)
treeb33429c6d74814a2719475be3202e380bf7c7cb1 /src/mongo/db/storage/kv
parentd49c1d6026fd47deb49ead7f7feaa97d5998f33d (diff)
downloadmongo-97fdfbefdc6841d0b07d0bf54a28c86c70ca5e19.tar.gz
SERVER-43664 Speedup WiredTiger storage engine startup for many tables by optimizing WiredTigerUtil::setTableLogging()
(cherry picked from commit 8e64b07e3bb363347ee2c11a56aba873365ed74a)
Diffstat (limited to 'src/mongo/db/storage/kv')
-rw-r--r--src/mongo/db/storage/kv/kv_engine.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mongo/db/storage/kv/kv_engine.h b/src/mongo/db/storage/kv/kv_engine.h
index 136adb07718..63c19b477e8 100644
--- a/src/mongo/db/storage/kv/kv_engine.h
+++ b/src/mongo/db/storage/kv/kv_engine.h
@@ -52,6 +52,20 @@ class SnapshotManager;
class KVEngine {
public:
+ /**
+ * During the startup process, the storage engine is one of the first components to be started
+ * up and fully initialized. But that fully initialized storage engine may not be recognized as
+ * the end for the remaining storage startup tasks that still need to be performed.
+ *
+ * For example, after the storage engine has been fully initialized, we need to access it in
+ * order to set up all of the collections and indexes based on the metadata, or perform some
+ * corrective measures on the data files, etc.
+ *
+ * When all of the storage startup tasks are completed as a whole, then this function is called
+ * by the external force managing the startup process.
+ */
+ virtual void notifyStartupComplete() {}
+
virtual RecoveryUnit* newRecoveryUnit() = 0;
// ---------