diff options
author | William Schultz <william.schultz@mongodb.com> | 2018-01-25 19:59:11 -0500 |
---|---|---|
committer | William Schultz <william.schultz@mongodb.com> | 2018-01-25 20:47:29 -0500 |
commit | 0d7bd8fac9de518710a6d34918fa12e6d63a2783 (patch) | |
tree | 53ca42ffac88e342abadd2109f6d8436aeb02c0b /src/mongo/db/background.cpp | |
parent | 785f56934fcb09f121980ccf6c51d97c3af80fa2 (diff) | |
download | mongo-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.cpp | 15 |
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); |