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

Add ResourceYielder support to ARS

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 6.0.0-rc0
    • None
    • None
    • Fully Compatible
    • Sharding NYC 2022-03-21

    Description

      If a mongod can run a distributed transaction, which requires checking out the transaction's session from the SessionCatalog to access the TransactionRouter, it may target itself, which would also require that session to access the TransactionParticipant. We solved a similar problem for aggregations that run getMores on themselves in a transaction by adding a ResourceYielder type that the BlockingResultsMerger uses to yield a session while running a "remote" command that may target the local process. We can extend that solution for this case by adding ResourceYielder support to the AsyncRequestsSender, which is used to send remote commands in a transaction.

      Attachments

        Issue Links

          Activity

            People

              jack.mulrow@mongodb.com Jack Mulrow
              jack.mulrow@mongodb.com Jack Mulrow
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: