summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Russotto <matthew.russotto@mongodb.com>2021-10-07 14:27:28 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-10-12 19:12:43 +0000
commite63075ae1fa670adf0f9180d90d5a73a931f99f2 (patch)
tree8c48f168bceb5b48ca687d610f1067c1ab363204
parent52174ffab806e33d77ccb255ddc0d6c8023acc8d (diff)
downloadmongo-e63075ae1fa670adf0f9180d90d5a73a931f99f2.tar.gz
SERVER-60542 Make WiredTigerServerStatus use current engine instead of storing a stale one
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp2
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp10
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_server_status.h5
3 files changed, 8 insertions, 9 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp
index ba3b5894ae8..517728c4f04 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp
@@ -121,7 +121,7 @@ public:
++setupCountForUnitTests;
// Intentionally leaked.
- [[maybe_unused]] auto leakedSection = new WiredTigerServerStatusSection(kv.get());
+ [[maybe_unused]] auto leakedSection = new WiredTigerServerStatusSection();
// This allows unit tests to run this code without encountering memory leaks
#if __has_feature(address_sanitizer)
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp
index b05d7d0d552..d3e3838d789 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.cpp
@@ -48,8 +48,8 @@ namespace mongo {
using std::string;
-WiredTigerServerStatusSection::WiredTigerServerStatusSection(WiredTigerKVEngine* engine)
- : ServerStatusSection(kWiredTigerEngineName), _engine(engine) {}
+WiredTigerServerStatusSection::WiredTigerServerStatusSection()
+ : ServerStatusSection(kWiredTigerEngineName) {}
bool WiredTigerServerStatusSection::includeByDefault() const {
return true;
@@ -88,12 +88,14 @@ BSONObj WiredTigerServerStatusSection::generateSection(OperationContext* opCtx,
WiredTigerKVEngine::appendGlobalStats(bob);
- WiredTigerUtil::appendSnapshotWindowSettings(_engine, session, &bob);
+ WiredTigerKVEngine* engine = checked_cast<WiredTigerKVEngine*>(
+ opCtx->getServiceContext()->getStorageEngine()->getEngine());
+ WiredTigerUtil::appendSnapshotWindowSettings(engine, session, &bob);
{
BSONObjBuilder subsection(bob.subobjStart("oplog"));
subsection.append("visibility timestamp",
- Timestamp(_engine->getOplogManager()->getOplogReadTimestamp()));
+ Timestamp(engine->getOplogManager()->getOplogReadTimestamp()));
}
return bob.obj();
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.h b/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.h
index 9bea39b3398..1203a311fb0 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.h
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_server_status.h
@@ -40,13 +40,10 @@ class WiredTigerKVEngine;
*/
class WiredTigerServerStatusSection : public ServerStatusSection {
public:
- WiredTigerServerStatusSection(WiredTigerKVEngine* engine);
+ WiredTigerServerStatusSection();
bool includeByDefault() const override;
BSONObj generateSection(OperationContext* opCtx,
const BSONElement& configElement) const override;
-
-private:
- WiredTigerKVEngine* _engine;
};
} // namespace mongo