|
Currently, a Server description (and topology version) is only updated on heartbeat connection creation and heartbeat results. However, more up-to-date descriptions are available when a new application connection is created. That can create a situation where the known topology version of a server is older than the topology version of a connection, making decision making during SDAM error handling much more difficult because you have to figure out which topology version to use when determining if an error is associated with a new topology version or not.
Instead, we should update the description (and topology version) on a Server when we create application connections as well so the two cannot be out-of-sync.
Definition of done:
- All handshakes, including monitoring connections, application connections, and heartbeat results (and RTT checks?) update a Server's description.
|