Loading...
Loading...
The setFCV command explicitly waits for majority write concern after it runs. It is known that waiting for majority is problematic if the operation did not perform any writes (it will wait on a very old opTime), see SERVER-56556, SERVER-71305, SERVER-108811. In setFCV we already have workarounds for an already fully upgraded/downgraded cluster and for dryRun. However there are other ways in which setFCV can run without performing any writes, for example when a shard runs the "prepare" phase it does not do any metadata changes nor updates the FCV document. We should solve this problem in a generic way. Possibly we can always call setLastOpToSystemLastOpTime before waiting for majority, since setFCV's results should always be based on majority written data even if it did not write anything.
MongoDB Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.