Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-40783

For a transaction that requires two-phase commit due to multiple write shards, omit read-only shards from having to do prepare

    • 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.

            Assignee:
            backlog-server-cluster-scalability [DO NOT USE] Backlog - Cluster Scalability
            Reporter:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: