Add explicit initializing constructors to the sharding type_* classes

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Won't Fix
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Sharding
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      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.

            Assignee:
            [DO NOT USE] Backlog - Sharding Team
            Reporter:
            Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: