[SERVER-86120] Return write error on failure to commit internal txn for retryable update that modifies doc shard key Created: 02/Feb/24 Updated: 05/Feb/24 |
|
| Status: | Open |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Janna Golden | Assignee: | Frederic Vitzikam |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Replication
|
||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Backport Requested: |
v7.3
|
||||||||||||||||
| Sprint: | Repl 2024-02-19 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 15 | ||||||||||||||||
| Description |
|
If an update that modifies a document's shard key is converted from a retryable write to an internal transaction, and that transaction errors, we intercept the error message as to avoid returning a transaction error to the client (which would be confusing as they issued a retryable write). In a recent refactor, we accidentally began unsetting the write error from the response after catching and rewriting the error, so we end up returning an ok status to the client rather than the rewritten error. |