[SERVER-26637] Add explicit initializing constructors to the sharding type_* classes Created: 14/Oct/16  Updated: 06/Dec/22  Resolved: 08/Feb/18

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: [DO NOT USE] Backlog - Sharding Team
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Sharding
Participants:

 Description   

The sharding metadata management classes under mongo/s/catalog/type_* all use setters and validators, which makes them prone to errors due to being partially constructed and require the callers to invariant on their validity.

It would be much cleaner if we added an explicit construction functions so we can never have partially constructed objects apart from the cases where this is necessary for backwards compatibility.


Generated at Thu Feb 08 04:12:43 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.