Uploaded image for project: 'Ruby Driver'
  1. Ruby Driver
  2. RUBY-1890

Driver authenticates to arbiters

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: Spec Comp
    • None

      During implementation of connection pool background thread, the test suite appears to unintentionally requested connections be made to arbiters by instantiating a connection pool object for such servers. In Evergreen configurations with auth on, there were errors reported due to, apparently, the driver attempting to authenticate to arbiters and failing.

      Per the auth spec (https://github.com/mongodb/specifications/blob/master/source/auth/auth.rst#authentication-handshake), driver must not authenticate to arbiters. Current wording:

      > If the server is not of type Standalone, RSPrimary, RSSecondary or Mongos, no authentication is possible and the handshake is complete.

      Previous wording per https://jira.mongodb.org/browse/SPEC-1301:

      > A driver MUST perform authentication with all supplied credentials for all server types with the exception of RSArbiter.

      The work for this ticket is:

      1. Confirm that the driver authenticates when connecting to arbiters.
      2. Remove authentication when connecting to arbiters, if it is present.

      Note that, as stated in https://jira.mongodb.org/browse/RUBY-1601, the driver's definition of "primary" does not match sdam spec. In particular, what sdam spec considers "primary" may be currently considered by the driver as "other" (specifically, when the server claims it is localhost:27017 but the driver's address for it was 127.0.0.1:27017). In these cases following the current spec language means the driver would not authenticate to data bearing nodes, which would subsequently fail operations.

            Assignee:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Reporter:
            oleg.pudeyev@mongodb.com Oleg Pudeyev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: