[GODRIVER-42] Implement improved error handling Created: 27/Jun/17 Updated: 02/Dec/20 Resolved: 02/Dec/20 |
|
| Status: | Closed |
| Project: | Go Driver |
| Component/s: | Error Handling |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | New Feature | Priority: | Major - P3 |
| Reporter: | Craig Wilson | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | Stitch | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Epic Link: | GODRIVER-114 | ||||||||||||
| Description |
|
Currently, errors are published under the general "implements error" interface. We should have a better error publishing strategy such that clients can recognize certain important types of errors and do something intelligent with them. In addition, it will be important to be able to track root cause errors such that internal implementations can handle certain types of errors better. For instance, when a connection encounters a read error, it should immediately cause the monitor to recheck the server to see if it's down and subsequently scrub the connection pool. This currently isn't happening. |
| Comments |
| Comment by Sam Kleinman (Inactive) [ 18/May/18 ] |
|
Should we also consider using github.com/pkg/errors for the error annotation. There's an ideologically similar implementation in internal/error.go. |
| Comment by David Golden [ 29/Sep/17 ] |
|
Next step is to create a design document describing how this will work. |
| Comment by Craig Wilson [ 23/Aug/17 ] |
|
I believe I handled the second paragraph in the description related to root cause errors and also fixed the scrubbing of connection pools based on types of errors. Error handling in general still needs a look, but those specific things have been taken care of. |