-
Type:
Task
-
Resolution: Won't Do
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: Upgrade/Downgrade
-
Storage Execution
-
Storage 2018-01-01, Storage 2018-01-15
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
Right now, we define FeatureCompatibilityVersion::kCollection in feature_compatibility_version.h. It is problematic because:
1. It's a StringData but it really should be a NamespaceString ("admin.system.version"). Also the name is ambiguous: its name implies the string value should be "system.version" but the db name is in it.
2. feature_compatibility_version is pretty high-level since it makes calls to high-level functions such as _runUpdateCommand. Some lower-level code (such as op_observer_impl.cpp) refer to this constant (kCollection) so it causes an unnecessary circular dependency issue.
Update
Further work required to successfully remove the circular dependencies and clean up the code. See below comment. Title has been updated.
- depends on
-
SERVER-33561 Add a featureCompatibilityVersion document parser
-
- Closed
-
-
SERVER-33562 Move FeatureCompatibilityVersion::kCollection and FeatureCompatibilityVersion::kDatabase into namespace_string.h and clean up file dependencies
-
- Closed
-
- related to
-
SERVER-43447 Complete TODO listed in SERVER-31968
-
- Closed
-