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

Participant with prepared transaction on session should block request for higher txn number on session rather than failing the new request

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • v4.2
    • Sharding 2019-08-26, Sharding 2019-09-09
    • 49

    Description

      Currently, if a shard receives a request with a higher transaction number on a session for which it currently has a transaction in prepare, the shard fails the request.

      This means currently, the transaction coordinator must wait for a transaction decision to be fully ack'd before returning the decision to the client - otherwise our tests that do back-to-back transactions are racy, because the next transaction statement might arrive at a shard before the shard hears the decision from the coordinator.

      It would improve the back-to-back latency of transactions, particularly when there is one "slow" participant, if the coordinator could return the decision to the client as soon as the decision is durable.

      This ticket is to enable the coordinator to return the decision as when the decision is durable by making requests with higher transaction numbers block rather than fail.

      Attachments

        Activity

          People

            matthew.saltz@mongodb.com Matthew Saltz (Inactive)
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: