[SERVER-40648] TransactionRouter shouldn't implicitly abort after NoSuchTransaction from abortTransaction Created: 15/Apr/19 Updated: 06/Dec/22 Resolved: 24/May/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Jack Mulrow | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | pm-564 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Sharding
|
| Participants: |
| Description |
|
Currently, mongos will implicitly abort a transaction on ok:0 responses by sending abort to each participant shard unless two phase commit has been started. This means if a client sends abortTransaction explicitly, which also sends abortTransaction to each participant and waits for each to respond before returning, and any shard returns NoSuchTransaction, which may happen if the shard already aborted implicitly or explicitly, the router will re-send abort to each participant, which is unnecessary. |
| Comments |
| Comment by Kaloian Manassiev [ 19/Apr/19 ] |
|
jack.mulrow, this is just a performance optimization, right? Doesn't look like a correctness issue. Putting it as 4.1 Desired. |