-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
ALL
-
200
Currently, secondaries call a high level create collection API - create_collection.h's createCollection - which performs FCV / feature flag checks.
Due to how FCV transitions can interleave with creating oplog entries, this means that a scenario is possible where the primary creates oplog entries like:
[ {setFCV: "transitioning to 8.0"}, {create: 'test.mycoll', useFeatureOn8_1: true} ]
However when the secondary applies these oplog entries, it will end up crashing because after it has entered the downgrading ("transitioning to 8.0") state, it tries to create a collection with the 8.1 feature and the feature flag check fires due to the secondary calling the higher level API.
This is a particular instance of SERVER-79269.
- is related to
-
SERVER-88964 featureFlagRecordIdsReplicated check should be done while under the global lock in IX
- Backlog
-
SERVER-88965 FeatureFlag checks must be performed while holding the global lock in IX / X if data can be written in a new format
- Closed
-
SERVER-79269 Invariant that we don't check FCV in oplog application
- Open
- related to
-
SERVER-92026 drop_database_sharded_setFCV.js should not run with recordIdsReplicated:true
- Closed
-
SERVER-89634 Enable tests that concurrently perform DDL and setFCV operations on the recordIdsReplicated:true variant
- Closed