From 646ff4b0ab9669f2260c6a017bbf3d45d1e48e6a Mon Sep 17 00:00:00 2001 From: Daniel Gottlieb Date: Thu, 7 Feb 2019 14:48:46 -0500 Subject: SERVER-35651: Don't downgrade data files when a 4.2 binary running as an arbiter is shut down. To downgrade binaries for an arbiter, the user must delete the dbpath. --- src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp index 3353b835cd9..a1595730c5b 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp @@ -124,7 +124,10 @@ bool WiredTigerFileVersion::shouldDowngrade(bool readOnly, const auto replCoord = repl::ReplicationCoordinator::get(getGlobalServiceContext()); const auto memberState = replCoord->getMemberState(); if (memberState.arbiter()) { - return true; + // SERVER-35361: Arbiters will no longer downgrade their data files. To downgrade + // binaries, the user must delete the dbpath. It's not particularly expensive for a + // replica set to re-initialize an arbiter that comes online. + return false; } if (!serverGlobalParams.featureCompatibility.isVersionInitialized()) { -- cgit v1.2.1