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

Replace state machine commit coordination implementation with Futures implementation

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • Sharding 2018-11-19, Sharding 2018-12-03, Sharding 2018-12-17
    • 66

    Description

      There are three improvements we could make to how the coordinator shard processes votes and sends commit/abort:

      1) Use one of the Grid's "arbitrary executors" rather than the Grid's "fixed executor". Currently, the fixed executor is used because it is the only executor for which the a mock network is supported by the sharding unit test fixtures.

      2) If a voteCommit or voteAbort triggers making the decision, do not block the voteCommit/voteAbort Client thread on things like persisting the decision, waiting for majority writeConcern, sending the decision and waiting for acks.

      3) Make sending an abort decision a "fire and forget" message. Currently, the ARS does not support sending "fire and forget" messages.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: