Details
-
Task
-
Resolution: Won't Fix
-
Major - P3
-
None
-
None
-
None
-
Sharding
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.