[GODRIVER-960] Implement SDAM error handling in topology.connection Created: 11/Apr/19  Updated: 11/Apr/19  Resolved: 11/Apr/19

Status: Closed
Project: Go Driver
Component/s: Core API
Affects Version/s: 1.0.0
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Kristofer Brandow (Inactive) Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt Dependency
has to be done after GODRIVER-930 Implement base driver.Connection type Closed
Epic Link: Core API

 Description   

Implementing SDAM error handling was originally scoped to GODRIVER-930, but it requires processing of a raw wire message to determine if it's a "node is recovering" or "not master" error. Since the topology package has no wire message processing logic, a configurable function, similar to the Handshaker is used to determine if the wire message contains one of these errors. This needs to be implemented in the driver package, which can process wire messages and find this information.



 Comments   
Comment by Kristofer Brandow (Inactive) [ 11/Apr/19 ]

Design changed: Instead of having topology.connection handle this, we'll have the topology.Server type implement driver.ErrorProcessor which will have it's ProcessError method called by driver.Operation.Execute after the wire message has been decoded.

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