-
Type: Bug
-
Resolution: Gone away
-
Priority: Unknown
-
None
-
Affects Version/s: 2.3.0
-
Component/s: None
-
None
The sessions spec requires the driver perform server selection in certain cases to determine if the topology supports sessions:
If the TopologyDescription and connection type indicate that the driver is not connected to any servers, OR is not a direct connection AND is not connected to a data-bearing server then a driver must do a server selection for any server whose type is data-bearing. Server selection will either time out or result in a TopologyDescription that includes at least one connected, data-bearing server.
The driver does this correctly at the very start of initializing a topology since the initial SessionSupportStatus is Undetermined, and we decide whether or not to perform a server selection based on whether the support status is set to Undetermined.
However, we never set the SessionSupportStatus back to Undetermined, even if the topology changes such that the conditions above are met, e.g., if we are connected to a single-mongos sharded cluster and mark the mongos unknown due to a network error, we do not change the status.
As a result, we do not do a server selection in these cases.
- has to be finished together with
-
RUST-1585 Do not perform server selection to determine sessions support
- Closed