[SERVER-40777] Change OptionalUUID to UUID Created: 23/Apr/19 Updated: 10/Jul/19 Resolved: 10/Jul/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Xiangyu Yao (Inactive) | Assignee: | Gabriel Villasana (Inactive) |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Sprint: | Execution Team 2019-06-17, Execution Team 2019-07-01, Execution Team 2019-07-15 |
| Participants: |
| Description |
|
Since every collection have UUID now, we should change usage of OptionalCollectionUUID to UUID as much as possible. |
| Comments |
| Comment by Dianna Hohensee (Inactive) [ 10/Jul/19 ] |
|
I'm closing this as Won't Do. I like some of the changes Gabe made to code layers near storage, but taking some things and leaving others is too arbitrary. Individual tickets need to be made for different components and assigned out to the relevant teams. |
| Comment by Gabriel Villasana (Inactive) [ 09/Jul/19 ] |
|
Blocked until further investigation
|
| Comment by Dianna Hohensee (Inactive) [ 03/Jul/19 ] |
|
Unfortunately, it looks like both the restrictions around which classes are allowed to instantiate new UUID instances and the initially inconsistent support of UUIDs such that UUIDs were frequently optional handled, has lead to the addition of UUIDs to object classes in a difficult to eradicate pattern. UUIDs are often not set in constructors, and not expected to be provided for a while by users of such classes: this is achieved by keeping UUIDs in the form of boost::optional<UUID>. Then there are the classes/functions that are meant to optionally take UUIDs, even when all collections have UUIDs. This is looking more like it will require each team to look at their own components and update them accordingly. Otherwise it takes an added investigation of code to understand how UUIDs are expected to be present and to make any larger change to how UUIDs are initialized. |