summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Wlodarek <gregory.wlodarek@mongodb.com>2020-06-02 15:19:50 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-06-03 01:45:49 +0000
commitf9f44a12b3c712d60881b430510bd5b7d603ca1b (patch)
tree767af69d97b69bb55e479d7a9b86375edfd70969
parent9f86bbafc8bc0089afae84795757b94cab77f9ce (diff)
downloadmongo-f9f44a12b3c712d60881b430510bd5b7d603ca1b.tar.gz
SERVER-48333 Whitelist index build oplog entries for the admin.system.version collection during initial sync
(cherry picked from commit 74131b4e707c902b4ab3ea1428652850c906604e)
-rw-r--r--src/mongo/db/repl/oplog.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mongo/db/repl/oplog.cpp b/src/mongo/db/repl/oplog.cpp
index c750d4595d9..2953d9c4483 100644
--- a/src/mongo/db/repl/oplog.cpp
+++ b/src/mongo/db/repl/oplog.cpp
@@ -1443,8 +1443,14 @@ Status applyCommand_inlock(OperationContext* opCtx,
// for each collection dropped. 'applyOps' and 'commitTransaction' will try to apply each
// individual operation, and those will be caught then if they are a problem. 'abortTransaction'
// won't ever change the server configuration collection.
- std::vector<std::string> whitelistedOps{
- "dropDatabase", "applyOps", "dbCheck", "commitTransaction", "abortTransaction"};
+ std::vector<std::string> whitelistedOps{"dropDatabase",
+ "applyOps",
+ "dbCheck",
+ "commitTransaction",
+ "abortTransaction",
+ "startIndexBuild",
+ "commitIndexBuild",
+ "abortIndexBuild"};
if ((mode == OplogApplication::Mode::kInitialSync) &&
(std::find(whitelistedOps.begin(), whitelistedOps.end(), o.firstElementFieldName()) ==
whitelistedOps.end()) &&