summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAli Mir <ali.mir@mongodb.com>2021-02-08 16:00:15 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-02-23 16:11:11 +0000
commitb964c7a249cd2329203e6dffeec18da716235b71 (patch)
treeabbd32ba1657993d2ae2a426bcdf60f718abc7c7 /src
parent567b7b59849dc2ecd10d6899b9b31c1aba5f7bd1 (diff)
downloadmongo-b964c7a249cd2329203e6dffeec18da716235b71.tar.gz
SERVER-54366 Wait for node to start stepdown before killing shutdown operation in force_shutdown_primary.js
(cherry picked from commit 2f3010a29bed0d3733a428021a9cc66c83580fd0)
Diffstat (limited to 'src')
-rw-r--r--src/mongo/db/commands/shutdown_d.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/commands/shutdown_d.cpp b/src/mongo/db/commands/shutdown_d.cpp
index bed8d258d0a..157ff7b7fa9 100644
--- a/src/mongo/db/commands/shutdown_d.cpp
+++ b/src/mongo/db/commands/shutdown_d.cpp
@@ -40,6 +40,10 @@
namespace mongo {
+namespace {
+MONGO_FAIL_POINT_DEFINE(hangInShutdownBeforeStepdown);
+} // namespace
+
Status stepDownForShutdown(OperationContext* opCtx,
const Milliseconds& waitTime,
bool forceShutdown) noexcept {
@@ -48,6 +52,11 @@ Status stepDownForShutdown(OperationContext* opCtx,
// for any secondaries. Ignore stepdown.
if (replCoord->getConfig().getNumMembers() != 1) {
try {
+ if (MONGO_FAIL_POINT(hangInShutdownBeforeStepdown)) {
+ log() << "hangInShutdownBeforeStepdown failpoint enabled";
+ MONGO_FAIL_POINT_PAUSE_WHILE_SET(hangInShutdownBeforeStepdown);
+ }
+
replCoord->stepDown(opCtx, false /* force */, waitTime, Seconds(120));
} catch (const ExceptionFor<ErrorCodes::NotWritablePrimary>&) {
// Ignore NotWritablePrimary errors.