<!-- llms-explorer concept facts · https://llms-explorer.com/tree/fcv-pinning-no-downgrade-rule/ · pack 2026-10-15 · ~2389 tokens -->

# FCV pinning no-downgrade rule

> Depth-first rabbithole dossier for FCV pinning no-downgrade rule; source-anchored research pack.

Parent: [Atlas cluster tiers (M30) & major-version upgrade mechanics](https://llms-explorer.com/tree/atlas-cluster-tiers-m30-major-version-upgrade-mechanics/) · 4 facets · 20 facts · page: https://llms-explorer.com/tree/fcv-pinning-no-downgrade-rule/

## How it works

- [low] Check the FCV (feature compatibility version), it should be the same as the current database version, and then change the FCV to the current version once everything is running fine. Sources: https://www.percona.com/blog/upgrade-process-of-percona-server-for-mongodb-replica-set-and-shard-cluster/ — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`

## Problems, failure modes and limitations

- [medium] FCV pinning is only available on Dedicated clusters and cannot be extended beyond 4 weeks from the pin date; the pin is a short-term measure that does not simulate the behavior of previous binary versions. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/atlas/tutorial/major-version-downgrade.md, https://www.mongodb.com/docs/atlas/tutorial/major-version-change.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] You can only downgrade an Atlas Core cluster if the pinned FCV is only one major version below the current FCV, and you cannot downgrade to a version after it reaches end-of-life. Sources: https://www.mongodb.com/docs/atlas/tutorial/major-version-downgrade.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] If a cluster is pinned to FCV 6.0, you can only upgrade to 7.0, not 8.0+, because you cannot upgrade to a version that is two versions above the pinned FCV version. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/atlas/tutorial/major-version-change.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [medium] If your cluster uses Latest Version With Auto Upgrades, you cannot pin its FCV, cannot downgrade the cluster, and Atlas manages its upgrades automatically so you cannot perform manual upgrade procedures. Sources: https://www.mongodb.com/docs/atlas/tutorial/major-version-downgrade.md, https://www.mongodb.com/docs/atlas/tutorial/major-version-change.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [medium] Starting in MongoDB 8.3, you can downgrade your deployment's FCV to the immediately previous minor version, and MongoDB supports single-version downgrades along adjacent versions only, meaning you cannot downgrade to a release that is multiple versions behind your current release. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md, https://www.mongodb.com/docs/manual/release-notes/8.3-downgrade.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] If you try to upgrade the FCV of a cluster that contains forwards-incompatible data in the upgraded version, you receive a `CannotUpgrade` error. Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#troubleshooting`
- [low] If you try to downgrade the FCV of a cluster that contains backwards-incompatible data in the downgraded version, you receive a `CannotDowngrade` error. Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#troubleshooting`
- [low] If the FCV upgrade confirms that there is no forwards-incompatible data but otherwise stops or fails, any subsequent FCV downgrade attempts also fail with an error message. Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#troubleshooting`
- [low] If the FCV downgrade confirms that there is no backwards-incompatible data but otherwise stops or fails, any subsequent FCV upgrade attempts also fail with an error message. Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#troubleshooting`
- [low] If you change the FCV during an initial sync, the sync may fail with an `OplogOperationUnsupported` error when replaying entries on the `oplog` application phase. Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#troubleshooting`

## Comparisons and alternatives

- [low] In the minor version, FCV will remain the same as we are just changing the C rather than A or B in A.B.C. Sources: https://www.percona.com/blog/upgrade-process-of-percona-server-for-mongodb-replica-set-and-shard-cluster/ — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`

## Facts and statements

- [high] To downgrade an Atlas Core cluster to the previous major MongoDB version, you must have pinned the FCV (Feature Compatibility Version) before upgrading, and you can only downgrade to the major version that matches the pinned FCV. Sources: https://www.mongodb.com/docs/atlas/tutorial/major-version-downgrade.md, https://www.mongodb.com/docs/atlas/tutorial/major-version-change.md, https://www.mongodb.com/docs/atlas/atlas-versions.md, https://www.mongodb.com/community/forums/t/mongodb-version-upgrade-and-downgrade/253453 — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] Atlas unpins a cluster's FCV on the next maintenance window starting on or after the expiration date, and if the cluster was already upgraded, Atlas upgrades its FCV to match its MongoDB version after the pin expires. Sources: https://www.mongodb.com/docs/atlas/tutorial/major-version-downgrade.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] You must complete the FCV upgrade before you can downgrade the FCV, and you must complete the FCV downgrade before you can upgrade the FCV. Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] Arbiters do not replicate the `admin.system.version` collection, so they always have a feature compatibility version equal to the downgrade version of the binary, regardless of the FCV value of the replica set. Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] Setting the FCV to the original version stops the upgrade procedure and reverts the FCV to the downgraded version, while setting the FCV to the original version stops the downgrade procedure and reverts the FCV to the upgraded version. Sources: https://www.mongodb.com/docs/manual/reference/command/setFeatureCompatibilityVersion.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] By default, the Operator doesn’t set FeatureCompatibilityVersion (FCV) to match the new version, but you can turn this backward compatibility off at any moment by setting the `upgradeOptions.setFCV` flag in the `deploy/cr.yaml` configuration file to true. Sources: https://docs.percona.com/percona-operator-for-mongodb/update-major.html — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] Reset the in-memory FCV to `kUnsetDefaultLastLTSBehavior`. Sources: https://raw.githubusercontent.com/mongodb/mongo/master/src/mongo/db/repl/README.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`
- [low] Set the in-memory FCV to the sync source's FCV. Sources: https://raw.githubusercontent.com/mongodb/mongo/master/src/mongo/db/repl/README.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/fcv-pinning-no-downgrade-rule-f5397a7c6a/rabbithole-synthesis.md#core`

## Related concepts

- FCV — is a part of FCV pinning no-downgrade rule
- pinning — is a part of FCV pinning no-downgrade rule
