In ShardedClusterBackfillCoordinator use fixed executor instead

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc1
    • Affects Version/s: None
    • Component/s: Performance
    • None
    • Query Execution
    • Fully Compatible
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      In the backfill coordinator we use a task executor to schedule backfilling asynchronously.

      Before the change, we used MongoProcessInterface task executor. In sharding case, it used NetworkInterfaceThreadPool, which uses the main thread to process tasks.

      In testing, we use hangBeforeExecutingBackfillTask to hang the backfilling tasks, but because we used NetworkInterfaceThreadPool, it could hang more than only the specific async task.

      To fix it, in sharding case we will use Grid::get(opCtx)>getExecutorPool()>getFixedExecutor().

      This is consistent with executor pool recommendation to use fixed executors for a non-performance critical tasks.

            Assignee:
            Ivan Fefer (Inactive)
            Reporter:
            Ivan Fefer (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: