[GODRIVER-322] Handshake changes for SDAM and Auth Created: 29/Mar/18  Updated: 27/Oct/23  Resolved: 31/May/18

Status: Closed
Project: Go Driver
Component/s: Server Discovery and Monitoring
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Rathi Gnanasekaran Assignee: Kristofer Brandow (Inactive)
Resolution: Works as Designed Votes: 0
Labels: neweng
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by DRIVERS-466 Handshake changes for SDAM and Auth Closed
Related
related to GODRIVER-442 Authentication error should drain a t... Closed
Epic Link: GODRIVER MongoDB 4.0 Support

 Description   

tl;dr:

  • Monitoring-only sockets must not send SCRAM mechanism negotiation in isMaster and must not authenticate at all.
  • Non-monitoring sockets (e.g. connection pool or single-threaded client) do a "normal" handshake and authenticate if there are credentials.
  • An authentication error on a socket must close all (and only) non-monitoring sockets to the same server.

Possible backward breaking change:

  • Some drivers were resetting a server's topology description to Unknown on an authentication error and should stop doing so. This means the topology will always be "correct" even when authentication fails.
  • It will no longer be possible for authentication errors to be masked as server selection errors.

Detailed changes:


Generated at Thu Feb 08 08:33:58 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.