summaryrefslogtreecommitdiff
path: root/src/mongo/db/background.cpp
diff options
context:
space:
mode:
authorWilliam Schultz <william.schultz@mongodb.com>2018-01-25 19:59:11 -0500
committerWilliam Schultz <william.schultz@mongodb.com>2018-01-25 20:47:29 -0500
commit0d7bd8fac9de518710a6d34918fa12e6d63a2783 (patch)
tree53ca42ffac88e342abadd2109f6d8436aeb02c0b /src/mongo/db/background.cpp
parent785f56934fcb09f121980ccf6c51d97c3af80fa2 (diff)
downloadmongo-0d7bd8fac9de518710a6d34918fa12e6d63a2783.tar.gz
SERVER-30818 Wait for all background index builds to complete before starting rollback to checkpoint
This reverts commit 0ebed531c6506e8538858758a6af5b8eb9da7ed2.
Diffstat (limited to 'src/mongo/db/background.cpp')
-rw-r--r--src/mongo/db/background.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/mongo/db/background.cpp b/src/mongo/db/background.cpp
index 555062f7e63..d427c4db301 100644
--- a/src/mongo/db/background.cpp
+++ b/src/mongo/db/background.cpp
@@ -124,6 +124,14 @@ bool BackgroundOperation::inProgForDb(StringData db) {
return dbsInProg.find(db) != dbsInProg.end();
}
+int BackgroundOperation::numInProgForDb(StringData db) {
+ stdx::lock_guard<stdx::mutex> lk(m);
+ std::shared_ptr<BgInfo> bgInfo = mapFindWithDefault(dbsInProg, db, std::shared_ptr<BgInfo>());
+ if (!bgInfo)
+ return 0;
+ return bgInfo->getOpsInProgCount();
+}
+
bool BackgroundOperation::inProgForNs(StringData ns) {
stdx::lock_guard<stdx::mutex> lk(m);
return nsInProg.find(ns) != nsInProg.end();
@@ -147,13 +155,6 @@ void BackgroundOperation::assertNoBgOpInProgForNs(StringData ns) {
!inProgForNs(ns));
}
-void BackgroundOperation::awaitNoBgOpInProgForDbs(std::vector<StringData> dbs) {
- stdx::unique_lock<stdx::mutex> lk(m);
- for (auto db : dbs) {
- awaitNoBgOps(lk, &dbsInProg, db);
- }
-}
-
void BackgroundOperation::awaitNoBgOpInProgForDb(StringData db) {
stdx::unique_lock<stdx::mutex> lk(m);
awaitNoBgOps(lk, &dbsInProg, db);