Details
-
Bug
-
Resolution: Gone away
-
Major - P3
-
None
-
None
-
None
-
Fully Compatible
-
ALL
-
-
Sharding 2017-10-23
Description
This issue is caused by allowing serverGlobalParams.featureCompatibility.isSchemaVersion36 to be set to false after the featureCompatibilityVersion document has been updated as part of FeatureCompatibilityVersion::set(). Consider the following sequence of events with two threads when the server starts out in featureCompatibilityVersion=3.6.
Thread in {setFCV: "3.4"} Thread in {setFCV: "3.6"}
|
| |
|
| |
|
FCV::set() called |
|
| |
|
fCV document changed to "3.4" |
|
| |
|
fCV global set to "3.4" via OpObserver |
|
| |
|
isSchemaVersion36 global set to false |
|
via OpObserver |
|
| |
|
| |
|
| FCV::set() called
|
| |
|
| fCV document changed to "3.6"
|
| |
|
| fCV global set to "3.6" via OpObserver
|
| |
|
| isSchemaVersion36 global set to true
|
| via OpObserver
|
| |
|
| |
|
isSchemaVersion36 global set to false |
|
via setFCV |
|
Attachments
Issue Links
- is related to
-
SERVER-30793 merge setFeatureCompatibilityVersion and _configsvrSetFeatureCompatibilityVersion
-
- Closed
-