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

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Won't Do
    • Backlog
    • None
    • Sharding
    • Sharding EMEA

    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

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

              Dates

                Created:
                Updated:
                Resolved: