Uploaded image for project: 'Evergreen'
  1. Evergreen
  2. EVG-6962

Reduce host cycling when using evergreen.DispatcherVersionRevisedWithDependencies

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • current_quarter
    • app

    Description

      When running with evergreen.DispatcherVersionRevisedWithDependencies It is possible for a single depends_on task to "block" a significant number (or all) the tasks present in the task_queue if they are dependent on this single task.

      For example, at one point every task (33 tasks) in the archlinux-test task_queue were "blocked" from being dispatched as they all had a depends_on for the same dispatched/running task:

      db.tasks.find({"depends_on._id": "ops_manager_kubernetes_init_test_run_build_images_ubuntu_patch_cad4b3570aac75693c9e3b549927e2edecfdda93_5dcb02032a60ed3b8526660f_19_11_12_19_03_32"}).count()
      33
      

      While waiting for this depends_on task to complete, the host_allocator is cycling hosts for work that cannot be dispatched as the length of the task_queue is a factor in determining how many hosts to provision.

      We should try to minimise, and ideally avoid this scenario.

      Attachments

        Issue Links

          Activity

            People

              julian.edwards@mongodb.com Julian Edwards
              stuart.butler@mongodb.com Stuart Butler
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: