[SERVER-77053] Transaction API shouldn't throw top level errors in runCommand Created: 11/May/23 Updated: 29/Oct/23 Resolved: 15/May/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0, 7.0.0-rc1 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Jack Mulrow | Assignee: | Jack Mulrow |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Backport Requested: |
v7.0
|
||||||||
| Sprint: | Sharding NYC 2023-05-15, Sharding NYC 2023-05-29 | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 100 | ||||||||
| Description |
|
The transaction API parses commitTransaction results specially to distinguish between command errors (ie top-level ok:0 errors), write concern errors (ie in the writeConcernError field), and client errors (e.g. errors sending the command itself or in client owned code, like the transaction callback), so it can choose to retry if either the command or write concern error is retryable.
The API should return the response from running a command unmodified, so the intended error handling logic can take effect. |
| Comments |
| Comment by Githook User [ 15/May/23 ] |
|
Author: {'name': 'Jack Mulrow', 'email': 'jack.mulrow@mongodb.com', 'username': 'jsmulrow'}Message: (cherry picked from commit cc09debe1f3eacece6986f8bb5fd3199600e54c6) |
| Comment by Githook User [ 12/May/23 ] |
|
Author: {'name': 'Jack Mulrow', 'email': 'jack.mulrow@mongodb.com', 'username': 'jsmulrow'}Message: |