[SERVER-31968] Refactor FCV component code in order to remove circular dependencies around feature_compatibility_version.h/cpp Created: 14/Nov/17 Updated: 06/Dec/22 Resolved: 19/Aug/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Upgrade/Downgrade |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Minor - P4 |
| Reporter: | Xiangyu Yao (Inactive) | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | neweng, todo_in_code | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||||||
| Sprint: | Storage 2018-01-01, Storage 2018-01-15 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
Right now, we define FeatureCompatibilityVersion::kCollection in feature_compatibility_version.h. It is problematic because: Update |
| Comments |
| Comment by Dianna Hohensee (Inactive) [ 28/Feb/18 ] |
|
Making this a master ticket. Created |
| Comment by Dianna Hohensee (Inactive) [ 07/Feb/18 ] |
|
So moving kCollection out of FeatureCompatibilityVersion doesn't suffice to remove the circular dependency issues. kParameter and kVersion are also used in various files in which kCollection is used . The issue appears to lie in FeatureCompatibilityVersion being simultaneously a FCV doc parser (should be an FCVType) and an OpObserver. Then there's FeatureCompatibilityVersionCommandParser and ServerGlobalParams::FeatureCompatibilityVersion off in left field. Need to rearrange the code. Initial, not completely verified or thought out, proposal
|