diff options
author | Ali Mir <ali.mir@mongodb.com> | 2021-02-08 16:00:15 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-02-23 16:11:11 +0000 |
commit | b964c7a249cd2329203e6dffeec18da716235b71 (patch) | |
tree | abbd32ba1657993d2ae2a426bcdf60f718abc7c7 /src/mongo/db | |
parent | 567b7b59849dc2ecd10d6899b9b31c1aba5f7bd1 (diff) | |
download | mongo-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/mongo/db')
-rw-r--r-- | src/mongo/db/commands/shutdown_d.cpp | 9 |
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. |