-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Replication
-
Repl 2025-12-22
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Currently, ReplicationCoordinatorImpl::_doReplSetReconfig takes in two flags: a force flag that enables/disables force reconfig (which skips some safety checks), and a skipSafetyChecks flag that skips a set of safety checks which is neither:
As a result, we have four different combinations of reconfig safety options, and it isn't clear which checks I can expect to be enabled/disabled from the flags used:
/*
* Performs the replica set reconfig procedure. Certain consensus safety checks are omitted when
* either 'force' or 'skipSafetyChecks' are true.
*/
Status _doReplSetReconfig(OperationContext* opCtx,
GetNewConfigFn getNewConfig,
bool force,
bool skipSafetyChecks);
We should either expand the documentation to specify which safety checks skipSafetyChecks refers to or implement a better design.