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

Adapt DDL locks to support transactions

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • CAR Team 2024-02-05

      The database and collection DDL locks are currently not usable in transactions because they're handled by the locker as simple mutexes.

      Those should be the needed changes to support their use in transactions:

      • Allow them to be held by the WUOW by delaying unlocking (move those down)
      • Relax this assertion because transactions hold the global lock in IX mode
      • Acquire the db/collection locks in mode IX rather than IS when checking for the shard primary (here and here) because transactions would later try to promote them to IX (invalid transition)

            Assignee:
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            Reporter:
            pierlauro.sciarelli@mongodb.com Pierlauro Sciarelli
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: