Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2153

Clarify whether pools should be created for non-data-bearing nodes

    • Type: Icon: Spec Change Spec Change
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: SDAM
    • Labels:
      None
    • Needed

      In this comment in mongodb/specifications#668, oleg.pudeyev referred to a recent SDAM spec change in
      SPEC-1332. The text instructs drivers to populate pools for data-bearing server types; however, it does not address other server types (e.g. RSArbiter, RSGhost, RSOther).

      jeff.yemin pointed out that there is little reason to create pools for arbiters, since they are only used for monitoring; however, it may make sense to permit drivers to populate pools for RSGhost and RSOther types, since those could become queryable nodes down the line. I propose "Connection Pool Creation" section of SDAM be amended to say:

      • Drivers MUST NOT create connection pools for RSArbiter server types
      • Drivers MAY create connection pools for RSGhost and RSOther server types

      This would leave PossiblePrimary and Unknown as the only unspecified server types. I'm not sure if those bear mentioning, but if so I imagine we could add them to the list of MUST NOT alongside RSArbiter. Connection Pool Creation in the SDAM spec says the pools are only created after successful server checks, so perhaps that justifies omission of PossiblePrimary and Unknown (both types are transitive states before successful isMaster checks).

            Assignee:
            Unassigned Unassigned
            Reporter:
            jmikola@mongodb.com Jeremy Mikola
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: