diff options
author | Spencer T Brody <spencer@mongodb.com> | 2018-09-19 16:20:22 -0400 |
---|---|---|
committer | Spencer T Brody <spencer@mongodb.com> | 2018-09-24 16:30:00 -0400 |
commit | 0658c2badc16b8f372c7531a563ac7c6f4518a2e (patch) | |
tree | 9c81b1c26723c9197a2cc7cce91830b8ba2c5faf /src/mongo/db/commands/shutdown_d.cpp | |
parent | ea15baf6412300c94bbe0e96f2865e58b0c7e637 (diff) | |
download | mongo-0658c2badc16b8f372c7531a563ac7c6f4518a2e.tar.gz |
SERVER-35870 Make ReplicationCoordinator::stepDown report errors via exceptions
Diffstat (limited to 'src/mongo/db/commands/shutdown_d.cpp')
-rw-r--r-- | src/mongo/db/commands/shutdown_d.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mongo/db/commands/shutdown_d.cpp b/src/mongo/db/commands/shutdown_d.cpp index ee2de23a67e..3f43c7ea4a1 100644 --- a/src/mongo/db/commands/shutdown_d.cpp +++ b/src/mongo/db/commands/shutdown_d.cpp @@ -60,10 +60,13 @@ public: timeoutSecs = cmdObj["timeoutSecs"].numberLong(); } - Status status = repl::ReplicationCoordinator::get(opCtx)->stepDown( - opCtx, force, Seconds(timeoutSecs), Seconds(120)); - if (!status.isOK() && status.code() != ErrorCodes::NotMaster) { // ignore not master - uassertStatusOK(status); + try { + repl::ReplicationCoordinator::get(opCtx)->stepDown( + opCtx, force, Seconds(timeoutSecs), Seconds(120)); + } catch (const DBException& e) { + if (e.code() != ErrorCodes::NotMaster) { // ignore not master + throw; + } } // Never returns |