From db986c959a8e080d038577ae107af60bf2611557 Mon Sep 17 00:00:00 2001 From: Katherine Walker Date: Thu, 21 Sep 2017 14:11:50 -0400 Subject: SERVER-29649 Add startupWarning for replset running with --nojournal when writeConcernMajorityJournalDefault is not false --- src/mongo/db/repl/replication_coordinator_impl.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/mongo/db/repl/replication_coordinator_impl.cpp') diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp index 5d8fee72e3e..9ffbed75ae3 100644 --- a/src/mongo/db/repl/replication_coordinator_impl.cpp +++ b/src/mongo/db/repl/replication_coordinator_impl.cpp @@ -2795,6 +2795,24 @@ ReplicationCoordinatorImpl::_setCurrentRSConfig_inlock(OperationContext* opCtx, log() << "** in a future version." << startupWarningsLog; } + // Warn if running --nojournal and writeConcernMajorityJournalDefault = false + StorageEngine* storageEngine = opCtx->getServiceContext()->getGlobalStorageEngine(); + if (!storageEngine->isDurable() && + (newConfig.getWriteConcernMajorityShouldJournal() && + (!oldConfig.isInitialized() || !oldConfig.getWriteConcernMajorityShouldJournal()))) { + log() << startupWarningsLog; + log() << "** WARNING: This replica set is running without journaling enabled but the " + << startupWarningsLog; + log() << "** writeConcernMajorityJournalDefault option to the replica set config " + << startupWarningsLog; + log() << "** is set to true. The writeConcernMajorityJournalDefault " + << startupWarningsLog; + log() << "** option to the replica set config must be set to false " + << startupWarningsLog; + log() << "** or w:majority write concerns will never complete." + << startupWarningsLog; + log() << startupWarningsLog; + } log() << "New replica set config in use: " << _rsConfig.toBSON() << rsLog; _selfIndex = myIndex; -- cgit v1.2.1