[SERVER-48307] Transactions that write to exactly one shard and read from one or more other shards may incorrectly indicate failure on retry after successful commit Created: 19/May/20 Updated: 29/Oct/23 Resolved: 20/May/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 4.5.1, 4.2.7, 4.4.0-rc6 |
| Fix Version/s: | 4.2.8, 4.4.0-rc7, 4.7.0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Esha Maharishi (Inactive) | Assignee: | Esha Maharishi (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Backport Requested: |
v4.4, v4.2
|
||||||||||||||||
| Sprint: | Sharding 2020-06-01 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
Issue Status as of May 25, 2020 ISSUE SUMMARY This issue does not affect multi-document transactions involving a single shard or that write to multiple shards. When a client attempts to commit a multi-document transaction, the driver receives one of the following responses to the commitTransaction command:
Clients using either driver’s callback transactions API or driver’s core transactions API would automatically retry the commitTransaction command to learn the definitive result of the transaction. Due to a bug in the router, the driver may be wrongly told “the transaction has definitely aborted and its operation should be automatically retried in a new transaction,” when the transaction has successfully been committed. This bug manifests when the commitTransaction command must be retried to learn the definitive result of the transaction and a primary failover has occurred in the intervening time on one of the shards that document(s) were only read from. USER IMPACT AFFECTED VERSIONS FIX VERSION |
| Comments |
| Comment by Githook User [ 19/Aug/20 ] |
|
Author: {'name': 'Esha Maharishi', 'email': 'esha.maharishi@mongodb.com', 'username': 'EshaMaharishi'}Message: |
| Comment by Githook User [ 26/Jun/20 ] |
|
Author: {'name': 'Esha Maharishi', 'email': 'esha.maharishi@mongodb.com', 'username': 'EshaMaharishi'}Message: |
| Comment by Githook User [ 21/May/20 ] |
|
Author: {'name': 'Esha Maharishi', 'email': 'esha.maharishi@mongodb.com', 'username': 'EshaMaharishi'}Message: (cherry picked from commit e18f218d59237398962b8b5e3730f28c0f06e587) |
| Comment by Githook User [ 20/May/20 ] |
|
Author: {'name': 'Esha Maharishi', 'email': 'esha.maharishi@mongodb.com', 'username': 'EshaMaharishi'}Message: (cherry picked from commit e18f218d59237398962b8b5e3730f28c0f06e587) |
| Comment by Githook User [ 20/May/20 ] |
|
Author: {'name': 'Esha Maharishi', 'email': 'esha.maharishi@mongodb.com', 'username': 'EshaMaharishi'}Message: |