Fix deadlock in TransactionRouter

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.1.0-rc0, 8.0.0-rc3
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • ALL
    • v8.0
    • CAR Team 2024-04-29
    • 20
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      The server can be deadlocked in TransactionRouter running a command against itself without first yielding the session. This particular code path runs on a retried commit with a single write node target. This code usually runs in mongoS, where that command is never directed to itself, but to a shard. When it runs on an embedded router, or maybe even on a shard using the internal router capabilities, the target could be the same process, resulting in deadlock. The fix would be to yield the session before issuing the command.

            Assignee:
            Aitor Esteve Alvarado
            Reporter:
            Aitor Esteve Alvarado
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: