-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Cluster Management
Testing has uncovered a race condition, mostly affecting retryable reads and writes, in which the ServerDescription in DefaultServer does not reflect the current state of the ClusterDescription. This server description is used to make decisions on whether to retry the operation, and as a result can make the wrong decision.
Specifically, the ServerDescription is in the CONNECTING state even after a successful selection of that server. There are a couple of ways we might fix it:
- Find and fix the race condition
- Make all decisions based on the ConnectionDescription. Stop tracking ServerDescription independently in DefaultServer
- Cache the ServerDescription from the ClusterDescription at the time the server was selected