summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
authorXiangyu Yao <xiangyu.yao@mongodb.com>2019-01-10 12:14:39 -0500
committerXiangyu Yao <xiangyu.yao@mongodb.com>2019-01-11 14:21:05 -0500
commit3b028cfc6f5ced60c180c340a46d4d06f7ac9815 (patch)
treee9eaee18d9d4460b6104e668eb874245ad3a0be5 /src/mongo
parentc338365277ede83996783e6b61dda0caa8914469 (diff)
downloadmongo-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.cpp3
-rw-r--r--src/mongo/db/storage/kv/kv_storage_engine.h4
-rw-r--r--src/mongo/db/storage/storage_engine.h5
-rw-r--r--src/mongo/db/storage/storage_init.cpp2
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"