[SERVER-31102] Clone admin.system.version first in initial sync, fail sync if FCV changes Created: 15/Sep/17 Updated: 27/Jul/20 Resolved: 15/Sep/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Judah Schvimer |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||
| Sprint: | Repl 2017-10-02 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
We should fail initial sync if the featureCompatibilityVersion changes in the middle of it, to avoid potential data corruption due to mismatches in the use of UUIDs between the source and destination node. To do this, we should make sure that the very first collection we clone is admin.system.version, so that we know the FCV of the sync source at the beginning of initial sync. Then during initial sync oplog application, we should fail and restart initial sync if we replicate a change to the FCV. |