• Icon: Improvement Improvement
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • Platform: All, OS: All

      It would be nice if one could specify that an upstream job should be prevented
      from running (again) until all depending downstream jobs has terminated, just as
      well as downstream jobs should be prevented from running until the upstream
      job(s) has completed.
      In our case we have a monolithic "common project" generating a vast amount of
      dll's making it undesirable to upload them all as artifacts. Then we have a lot
      of other projects depending on bits and parts from this "common project", but
      not always all parts. Thus, we have configured these projects to get their
      dependencies directly from the workspace of the "common project" which all work
      out well as long as one is careful with the scheduling of the jobs. Only, when
      allowing e.g. commit triggered builds this can lead to all sorts of errors
      because jobs can be started interdependently.

          [JENKINS-1990] Shared and exclusive locking

          mdonohue added a comment -

          Sounds like you want shared + exclusive locking. Your common project would
          take an exclusive lock when building, and your dependent projects would take a
          shared lock when digging around in the shared project's workspace.

          This would be an enhancement for locks and latches

          mdonohue added a comment - Sounds like you want shared + exclusive locking. Your common project would take an exclusive lock when building, and your dependent projects would take a shared lock when digging around in the shared project's workspace. This would be an enhancement for locks and latches

          This would be a very useful feature. I hope someone can find the time to work on it.

          lothar_werzinger added a comment - This would be a very useful feature. I hope someone can find the time to work on it.

          williamleara added a comment -

          ditto. +1 for specifying that an upstream job should be prevented from running (again) until all depending downstream jobs have terminated.

          williamleara added a comment - ditto. +1 for specifying that an upstream job should be prevented from running (again) until all depending downstream jobs have terminated.

          mdonohue added a comment -

          mdonohue added a comment - Voting for the issue doesn't hurt: http://issues.jenkins-ci.org/secure/ViewIssue.jspa?id=132063&vote=vote

          ev added a comment -

          I've attached a patch that I believe solves this issue by creating an option to share locks between slaves. While it works fine for me, I'd appreciate some review, given that it's my first attempt at a Hudson plugin and operates in the always-fun area of concurrency.

          Thanks!

          ev added a comment - I've attached a patch that I believe solves this issue by creating an option to share locks between slaves. While it works fine for me, I'd appreciate some review, given that it's my first attempt at a Hudson plugin and operates in the always-fun area of concurrency. Thanks!

          Alan Harder added a comment -

          one side-aspect of your patch.. if you use getFullDisplayName() instead of getDisplayName() would that remove the need for checking specifically for instanceof MatrixRun ?

          Alan Harder added a comment - one side-aspect of your patch.. if you use getFullDisplayName() instead of getDisplayName() would that remove the need for checking specifically for instanceof MatrixRun ?

          Another patch proposal - changes are kept as minimal as possible. We use this patch in a production environment in my company.

          Damien Coraboeuf added a comment - Another patch proposal - changes are kept as minimal as possible. We use this patch in a production environment in my company.

          Tom Panning added a comment -

          Is this feature request different from the functionality provided by the "Block build when upstream project is building" and "Block build when downstream project is building" checkboxes in the "Advanced Project Options" part of the build configuration?

          Tom Panning added a comment - Is this feature request different from the functionality provided by the "Block build when upstream project is building" and "Block build when downstream project is building" checkboxes in the "Advanced Project Options" part of the build configuration?

          Mark Waite added a comment -

          The Hudson locks and latches plugin is not distributed by the Jenkins update center. It was proposed for deprecation in 2015 and has known blocking issues. It prevents the saving of Jenkins job configurations in Jenkins 2.277.1 and later.

          If someone adopted the plugin, updated it to work with Jenkins 2.277.1 and later, and released a new version, then this issue report could be reopened.

          Mark Waite added a comment - The Hudson locks and latches plugin is not distributed by the Jenkins update center. It was proposed for deprecation in 2015 and has known blocking issues. It prevents the saving of Jenkins job configurations in Jenkins 2.277.1 and later. If someone adopted the plugin, updated it to work with Jenkins 2.277.1 and later, and released a new version, then this issue report could be reopened.

            Unassigned Unassigned
            boerrild boerrild
            Votes:
            10 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: