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

Add ResourceYielder support to ARS

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.0.0-rc0
    • None
    • 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

        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: