-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
Cluster Scalability
-
Fully Compatible
For a transaction that requires two-phase commit due to multiple write shards, omit read-only shards from having to do prepare.
(Also, the following should also be done as part of this ticket, from previous SERVER-41356 which should have been part of this)
Currently, the first participant is chosen as the two-phase commit coordinator. This means that if that participant ends up being read-only, the two-phase commit will not have the benefit of any of the participants being local.
This would only improve the tail latency of two-phase commit.
It is slightly complicated because in order to choose a write shard, the router has to first know whether the participant has done a write, which means the router cannot piggyback "coordinator: true" on the request to the participant.
- is duplicated by
-
SERVER-41356 Always choose a write shard as the transaction two-phase commit coordinator
- Closed