Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-67237

Downstream jobs are not guaranteed to build when the job configs have been updated recently

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • None
    • Jenkins: 2.322
    • 2.346

      We have a freestyle job (named config_job) that configures other freestyle jobs on the same jenkins via REST. In some of these freestyle jobs the config_job is added as a reverse build trigger and thus some jobs become downstream jobs of the config_job. We noticed that sometimes these newly added downstream jobs are not built.

      After looking at the jenkins source code, we noticed the following TODO in BuildTrigger.executes:

      // TODO this may not yet be up to date if rebuildDependencyGraphAsync has been used; need a method to wait for the last call made before now to finish
      final DependencyGraph graph = Jenkins.get().getDependencyGraph();
      

      Since the dependency graph is still rebuilding when our config_job finishes, an old version of the dependency graph is used which does not include the reverse triggers we just added and thus some downstream jobs are not built.

          [JENKINS-67237] Downstream jobs are not guaranteed to build when the job configs have been updated recently

            Unassigned Unassigned
            simon_sohrt Simon Sohrt
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: