summaryrefslogtreecommitdiff
path: root/src/mongo/watchdog
diff options
context:
space:
mode:
authorMathew Robinson <chasinglogic@gmail.com>2019-07-30 10:51:26 -0400
committerMathew Robinson <chasinglogic@gmail.com>2019-07-31 10:03:05 -0400
commitc6ec415752c8398f588491d8af1c54ee4e7fcbb4 (patch)
tree22f85f2f6fbc5beb6d94e051e42572205c50eb22 /src/mongo/watchdog
parent67b730d8b4bb79422f6d4b0254008e20ffde91c0 (diff)
downloadmongo-c6ec415752c8398f588491d8af1c54ee4e7fcbb4.tar.gz
SERVER-40667 MongoD Storage watchdog should treat unexpected interruption as process-fatal
Diffstat (limited to 'src/mongo/watchdog')
-rw-r--r--src/mongo/watchdog/watchdog.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mongo/watchdog/watchdog.cpp b/src/mongo/watchdog/watchdog.cpp
index 05b9a7f23fb..bc12a7fb1eb 100644
--- a/src/mongo/watchdog/watchdog.cpp
+++ b/src/mongo/watchdog/watchdog.cpp
@@ -47,6 +47,8 @@
#include "mongo/db/operation_context.h"
#include "mongo/platform/process_id.h"
#include "mongo/util/concurrency/idle_thread_block.h"
+#include "mongo/util/exit.h"
+#include "mongo/util/exit_code.h"
#include "mongo/util/hex.h"
#include "mongo/util/log.h"
#include "mongo/util/timer.h"
@@ -157,8 +159,9 @@ void WatchdogPeriodicThread::doLoop() {
if (!s.isOK()) {
// The only bad status is when we are in shutdown
if (!opCtx->getServiceContext()->getKillAllOperations()) {
- error() << "Watchdog was interrupted, shuting down:, reason: "
- << s.getStatus();
+ severe() << "Watchdog was interrupted, shutting down, reason: "
+ << s.getStatus();
+ exitCleanly(ExitCode::EXIT_ABRUPT);
}
return;