-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Connections, Spec Comp
-
None
tl;dr:
- Monitoring-only sockets must not send SCRAM mechanism negotiation in isMaster
- Monitoring-only sockets 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:
- depends on
-
RUBY-1472 Move AppMetadata to be under Server
- Closed
-
RUBY-1478 Improve connection pool queue documentation and add invariants
- Closed
- is depended on by
-
DRIVERS-466 Handshake changes for SDAM and Auth
- Closed