[SERVER-33151] Refuse to start up mongod 4.0 unless all collections have UUIDs Created: 07/Feb/18 Updated: 29/Oct/23 Resolved: 26/Feb/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Upgrade/Downgrade |
| Affects Version/s: | None |
| Fix Version/s: | 3.7.3 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Maria van Keulen | Assignee: | Dianna Hohensee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Storage 2018-02-26 | ||||||||
| Participants: | |||||||||
| Description |
|
In 4.0, it is assumed all collections have UUIDs. To ensure no potential 3.4-3.6 related UUID assignment bugs carry over into 4.0 once a user upgrades, all collections should be checked on startup for UUIDs and mongod should fail to start up unless all collections have UUIDs. |
| Comments |
| Comment by Githook User [ 26/Feb/18 ] |
|
Author: {'email': 'dianna.hohensee@10gen.com', 'name': 'Dianna Hohensee', 'username': 'DiannaHohensee'}Message: Also assigns UUIDs to any non-replicated collection found to be missing its UUID. |
| Comment by Dianna Hohensee (Inactive) [ 22/Feb/18 ] |
|
Ran into an issue where arbiters are upgraded to v4.0 and do not have UUIDs. This is due to arbiters in v3.6 only ever setting FCV 3.4. Upgrading the replica set primary FCV to 3.6 is not replicated to an arbiter – arbiters don't replicate data! So a v3.6 arbiter doesn't have UUIDs on its non-replicated collections. And then gets upgraded to v4.0 and still doesn't have UUIDs, and this check breaks arbiters on that lack of UUIDs. Therefore, since we also have the intention to automatically repair non-replicated collection UUIDs per |
| Comment by Dianna Hohensee (Inactive) [ 09/Feb/18 ] |
|
auto-fix non-replicated collection uuids on startup if needed. |