diff options
author | Xiangyu Yao <xiangyu.yao@mongodb.com> | 2019-01-10 12:14:39 -0500 |
---|---|---|
committer | Xiangyu Yao <xiangyu.yao@mongodb.com> | 2019-01-11 14:21:05 -0500 |
commit | 3b028cfc6f5ced60c180c340a46d4d06f7ac9815 (patch) | |
tree | e9eaee18d9d4460b6104e668eb874245ad3a0be5 /src/mongo | |
parent | c338365277ede83996783e6b61dda0caa8914469 (diff) | |
download | mongo-3b028cfc6f5ced60c180c340a46d4d06f7ac9815.tar.gz |
SERVER-38597 Add drop-pending ident counter to serverStatus
Diffstat (limited to 'src/mongo')
-rw-r--r-- | src/mongo/db/catalog/catalog_control_test.cpp | 3 | ||||
-rw-r--r-- | src/mongo/db/storage/kv/kv_storage_engine.h | 4 | ||||
-rw-r--r-- | src/mongo/db/storage/storage_engine.h | 5 | ||||
-rw-r--r-- | src/mongo/db/storage/storage_init.cpp | 2 |
4 files changed, 14 insertions, 0 deletions
diff --git a/src/mongo/db/catalog/catalog_control_test.cpp b/src/mongo/db/catalog/catalog_control_test.cpp index 635d89e3b20..5cdf5d71c1e 100644 --- a/src/mongo/db/catalog/catalog_control_test.cpp +++ b/src/mongo/db/catalog/catalog_control_test.cpp @@ -91,6 +91,9 @@ public: std::string getFilesystemPathForDb(const std::string& dbName) const final { return ""; } + std::set<std::string> getDropPendingIdents() const final { + return {}; + } }; /** diff --git a/src/mongo/db/storage/kv/kv_storage_engine.h b/src/mongo/db/storage/kv/kv_storage_engine.h index 1bd52d7e522..bd6bbe3add3 100644 --- a/src/mongo/db/storage/kv/kv_storage_engine.h +++ b/src/mongo/db/storage/kv/kv_storage_engine.h @@ -355,6 +355,10 @@ public: return _timestampMonitor.get(); } + std::set<std::string> getDropPendingIdents() const { + return _dropPendingIdentReaper.getAllIdents(); + } + private: using CollIter = std::list<std::string>::iterator; diff --git a/src/mongo/db/storage/storage_engine.h b/src/mongo/db/storage/storage_engine.h index 8e11a1894ae..702f54ae44f 100644 --- a/src/mongo/db/storage/storage_engine.h +++ b/src/mongo/db/storage/storage_engine.h @@ -355,6 +355,11 @@ public: virtual bool supportsPendingDrops() const = 0; /** + * Returns a set of drop pending idents inside the storage engine. + */ + virtual std::set<std::string> getDropPendingIdents() const = 0; + + /** * Clears list of drop-pending idents in the storage engine. * Used primarily by rollback after recovering to a stable timestamp. */ diff --git a/src/mongo/db/storage/storage_init.cpp b/src/mongo/db/storage/storage_init.cpp index 37b6746963c..11c27ef0b1e 100644 --- a/src/mongo/db/storage/storage_init.cpp +++ b/src/mongo/db/storage/storage_init.cpp @@ -60,6 +60,8 @@ public: << engine->supportsReadConcernMajority() << "supportsPendingDrops" << engine->supportsPendingDrops() + << "dropPendingIdents" + << static_cast<long long>(engine->getDropPendingIdents().size()) << "supportsSnapshotReadConcern" << engine->supportsReadConcernSnapshot() << "readOnly" |