-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: 8.3.0-rc0
-
Component/s: None
-
None
-
Catalog and Routing
-
🟩 Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
SERVER-99545 introduced Operation FCV (OFCV, VersionContext), an FCV snapshot to an operation.
As initially introduced, an OFCV was always owned by a resilient distributed operation (ShardingDDLCoordinator), and was propagated across shards (global scope).
To safely use OFCV for replica set operations (a local, non-persisted OperationContext) we need to tag it with local scope instead.
Â
The differences are:
- A global OFCV is propagated across shards (
SERVER-99557/SERVER-99558), while a local OFCV is not. - A local OFCV may be used in FCV <8.2 as an in-memory state on primaries, not replicated through the oplog. On the On the other hand a global FCV can only be used in FCV ≥8.2 (due to ShardingDDLCoordinators requiring persistence).
Â
The scope is only held in-memory, i.e. not persisted when serialized.
By default it is local, and it's set to "global" by ShardingDDLCoordinator, and also when propagated across shards.
- is related to
-
SERVER-99545 Introduce the VersionContext type
-
- Closed
-
-
SERVER-99557 Augment outgoing request metadata with the OFCV
-
- Closed
-
-
SERVER-99558 Retrieve the OFCV from incoming request metadata
-
- Closed
-
- related to
-
SERVER-111444 Never replicate Operation FCV in the oplog in FCV <8.2
-
- Backlog
-