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

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

      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.

            backlog-server-sharding-emea [DO NOT USE] Backlog - Sharding EMEA
            tommaso.tocci@mongodb.com Tommaso Tocci
            0 Vote for this issue
            1 Start watching this issue