summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTess Avitabile <tess.avitabile@mongodb.com>2019-05-10 17:21:07 -0400
committerTess Avitabile <tess.avitabile@mongodb.com>2019-05-13 17:58:12 -0400
commit990f1f43b3608b2a0457b60057462ac2aa874f13 (patch)
treece21ea7d2f3fce9bc90e671803a8a5d0054fe675
parent83e9cea65b2db8b9c7015f737472462841fddbd0 (diff)
downloadmongo-990f1f43b3608b2a0457b60057462ac2aa874f13.tar.gz
SERVER-41081 do_not_advance_commit_point_beyond_last_applied_term.js must wait for Node E to reach stopReplProducerOnDocument failpoint
(cherry picked from commit 9a7ec37bdb20b042c682e466b33f9ed90a5b4cc2)
-rw-r--r--jstests/replsets/do_not_advance_commit_point_beyond_last_applied_term.js2
-rw-r--r--src/mongo/db/repl/oplog_fetcher.cpp1
2 files changed, 3 insertions, 0 deletions
diff --git a/jstests/replsets/do_not_advance_commit_point_beyond_last_applied_term.js b/jstests/replsets/do_not_advance_commit_point_beyond_last_applied_term.js
index 17ec6346a84..75f3abe8b73 100644
--- a/jstests/replsets/do_not_advance_commit_point_beyond_last_applied_term.js
+++ b/jstests/replsets/do_not_advance_commit_point_beyond_last_applied_term.js
@@ -7,6 +7,7 @@
(function() {
"use strict";
+ load("jstests/libs/check_log.js");
load("jstests/libs/write_concern_util.js"); // for [stop|restart]ServerReplication.
const dbName = "test";
@@ -83,6 +84,7 @@
data: {document: {msg: "new primary"}}
}));
nodeE.reconnect([nodeA, nodeC, nodeD]);
+ checkLog.contains(nodeE, "stopReplProducerOnDocument fail point is enabled.");
assert.soon(() => {
return 1 === nodeE.getDB(dbName)[collName].find({term: 1}).itcount();
});
diff --git a/src/mongo/db/repl/oplog_fetcher.cpp b/src/mongo/db/repl/oplog_fetcher.cpp
index c0b2cd75ae4..95a508bb601 100644
--- a/src/mongo/db/repl/oplog_fetcher.cpp
+++ b/src/mongo/db/repl/oplog_fetcher.cpp
@@ -408,6 +408,7 @@ StatusWith<BSONObj> OplogFetcher::_onSuccessfulBatch(const Fetcher::QueryRespons
if (!queryResponse.documents.empty() &&
SimpleBSONObjComparator::kInstance.evaluate(
fp.getData()["document"].Obj() == queryResponse.documents.front()["o"].Obj())) {
+ log() << "stopReplProducerOnDocument fail point is enabled.";
return Status(ErrorCodes::FailPointEnabled,
"stopReplProducerOnDocument fail point is enabled");
}