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

Make DDL coordinators not wait for DistLock in the coordinator's thread pool

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Won't Do
    • Affects Version/s: Backlog
    • Fix Version/s: None
    • Component/s: Sharding

      Description

      Currently sharding DDL coordinators attempt to acquire dist-locks in their construction phase. This is blocking work that depends on other coordinators to complete. Since all the coordinators use the same shared threadpool we can end-up with the following deadlock on thread acquisition:

      • coordinator 1 waits on the dist-locks acquisition without yelding his threads (T1)
      • coordinator 2 waits on (T1) to be available in other to release the distlock.

      In SERVER-56599 the threadpool size used by the ShardingDDLCoordinatorService has been made of unlimited size due to several bugs.

      The goal of this ticket is to make it capped again once all the related bugs have been solved.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-sharding-emea Backlog - Sharding EMEA
              Reporter:
              tommaso.tocci Tommaso Tocci
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: