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

    XMLWordPrintableJSON

Details

    • Sharding NYC
    • Fully Compatible

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-sharding-nyc Backlog - Sharding NYC
              esha.maharishi@mongodb.com Esha Maharishi (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: