[SERVER-55228] Client will not be able to use transaction recovery token to retry commitTransaction if recovery shard gets removed Created: 16/Mar/21 Updated: 12/Dec/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Esha Maharishi (Inactive) | Assignee: | Backlog - Cluster Scalability |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | ShardedTxn:KnownBugs, neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Cluster Scalability
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
The client's recovery token will contain the shard name of a shard that's no longer in the cluster. I would expect the client's commitTransaction retry against mongos would return ShardNotFound. This affects every release since 4.2. One potential fix is for mongos to try to recover the transaction's outcome from all remaining shards. Chunk migration would need to transfer information about committed transactions. |