[SERVER-38142] Transaction coordinator should send prepare, commit, and abort directly to its local TransactionParticipant rather than over the network, take 2 Created: 14/Nov/18  Updated: 29/Oct/23  Resolved: 16/Jan/19

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.1.7

Type: Task Priority: Major - P3
Reporter: Esha Maharishi (Inactive) Assignee: Esha Maharishi (Inactive)
Resolution: Fixed Votes: 0
Labels: ShardedTxn:DistributedCommit
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: JPEG File diagram.jpg    
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2018-12-31, Sharding 2019-01-14, Sharding 2019-01-28
Participants:

 Description   

Otherwise, in a split brained coordinator shard, the old coordinator primary might receive recoverCommit and find its local participant in prepare, because the new coordinator primary received coordinateCommit, had a stale ReplicaSetMonitor for itself, and sent prepareTransaction over the network to the old coordinator primary.



 Comments   
Comment by Esha Maharishi (Inactive) [ 16/Jan/19 ]

Author:

{'username': 'EshaMaharishi', 'email': 'esha.maharishi@mongodb.com', 'name': 'Esha Maharishi'}

Message: SERVER-38412 Transaction coordinator should send prepare, commit, and abort directly to its local participant
Branch: master
https://github.com/mongodb/mongo/commit/bd1bcfbaad651070eba163a8714762ae7ed60906

Comment by Esha Maharishi (Inactive) [ 14/Dec/18 ]

Note that the participant on the old primary will be visible in the "prepared" state because prepareTransaction waits for writeConcern after checking the session back in.

Generated at Thu Feb 08 04:48:04 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.