[GODRIVER-2828] SDAM error handling doesn't ignore errors based on topology version correctly Created: 03/May/23  Updated: 28/Oct/23  Resolved: 05/Jun/23

Status: Closed
Project: Go Driver
Component/s: SDAM
Affects Version/s: 1.10.3, 1.11.4
Fix Version/s: 1.12.0, 1.11.7

Type: Bug Priority: Unknown
Reporter: Matt Dale Assignee: Matt Dale
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
causes GODRIVER-2787 Arbiter connection permanently broken... Closed
Related
related to GODRIVER-2841 Update a Server's topology version on... Backlog
Documentation Changes: Not Needed
Documentation Changes Summary:

1. What would you like to communicate to the user about this feature?
2. Would you like the user to see examples of the syntax and/or executable code and its output?
3. Which versions of the driver/connector does this apply to?


 Description   

While processing errors, the SDAM error handling function ProcessError attempts to compare the topology version on the error to the current topology version known by the Go driver. However, the Go driver uses the connection's topology version (see here), which is never updated after the connection is created. The Go driver should ignore errors where the error topology version is the same or older than the current driver topology version. However, it will instead act on those errors as if the error topology version were newer.



 Comments   
Comment by Githook User [ 05/Jun/23 ]

Author:

{'name': 'Matt Dale', 'email': '9760375+matthewdale@users.noreply.github.com', 'username': 'matthewdale'}

Message: GODRIVER-2828 Use topology version from Server instead of Connection in ProcessError. (#1252)

Co-authored-by: Preston Vasquez <prestonvasquez@icloud.com>
Branch: release/1.11
https://github.com/mongodb/mongo-go-driver/commit/d79782290b11d1feef4924f92113a284fde06d8a

Comment by Githook User [ 05/Jun/23 ]

Author:

{'name': 'Matt Dale', 'email': '9760375+matthewdale@users.noreply.github.com', 'username': 'matthewdale'}

Message: GODRIVER-2828 Use topology version from Server instead of Connection in ProcessError. (#1252)

Co-authored-by: Preston Vasquez <prestonvasquez@icloud.com>
Branch: master
https://github.com/mongodb/mongo-go-driver/commit/71edba3b0108f7c0c2b2d0a32f410f219d646961

Comment by Matt Dale [ 16/May/23 ]

PR: https://github.com/mongodb/mongo-go-driver/pull/1252

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