Hi Dwight,
Sorry for the slow reply, for some reason the list replies didn't arrive in my mailbox.
Thanks for describing the original rationale, I suspected as much.
I agree the random increment is probably a useful measure in the case that an administrator is manually triggering a force reconfigure and there is the chance for operator error to issue this against more than one peer.
I also agree that force reconfigure from scripts isn't a good idea for similar reasons, mostly that most scripts do not have complete information.
However my use-case is very different. I have an external system that has complete knowledge of all MongoDB peers, oplog positions, etc and could ensure that only monotonically increasing replSetConfig version numbers are used.
Being able to apply all reconfigures with known version numbers greatly increases the safety of my usecase because otherwise if my system does actually issue a reconfigure using stale information due to a race condition that it will be properly rejected by the cluster.
Without this functionality such a system can't be made fully safe.
Would it be possible to implement a means to circumvent this random increment in the case that you really do understand the consequences?
Joseph.