![]() |
|
|
|
|
Change By:
|
Benjamin Ernst
(02/Jun/14 10:09 AM)
|
|
Description:
|
Hi, we have found an issue in our build pipeline. We are using Jenkins ver. 1.532.3
The setup is as follows: * The master does not execute builds * There are multiple slave nodes connected to the master. All builds are executed on the slaves * Job A ** is polling for SCM ** is set to have a quiet period of 10 seconds ** on build, is generating an artifact * Job B ** is polling for SCM ** is set to have a quiet period of 10 seconds ** is set to be dependent on Job A ("Build after other projects are built") ** is set to not build when upstream jobs are building ("Block build when upstream project is building") ** on build, downloads $HUDSON_URL/job/A/lastSuccessfulBuild/[path-to-artifact]/artifact.zip
Given that * Job A's last successful build is #9 * Job B's last successful build is #19 * -User Eve checks in files to a location observed by both jobs- * User Eve checks in files such that both jobs will detect an SCM change
We can now observe the following sequence of events: # Job A observes the changes and triggers build #10 that is put into the waiting queue # Job B observes the changes and triggers build #20 that is put into the waiting queue # The quiet period elapses, job A build #10 starts to build # Job A build #10 is finished generating the artifact, it is uploaded to the master # Job A build #10 tries to trigger a new build of Job B. Job B build #20 is already in the waiting queue, so no new build is triggered #
-
Job A build #10 does not complete for the next 30 seconds. we believe this is due to uploading the build log to the master, but we are uncertain about this.
- (correction: it was due to the disk usage plugin, which we now removed. There is no noticable delay anymore, but the problem described here persists)
# {color:red}Job B build #20 starts to build{color} # {color:red}Job B build #20 downloads $HUDSON_URL/job/A/lastSuccessfulBuild/[path-to-artifact]/artifact.zip (lastSuccessfulBuild seems to point to Job A build #9 at this time){color} # Job A completes with the message "Finished: SUCCESS" #
Job B completes with the message "Finished: SUCCESS" #
No more builds of Jobs A and B are pending/will be running
We are uncertain whether the problem lies in step 7 or step 8. Our requirement is that Job B build #20 downloads the artifact of the last succeeded build of job A, which should be build #10. This seems like a bug to us.
This issue seems related to JENKINS-5125. [Looking at the source code|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/Job.java#L286] reveals that this code fragment proposed in JENKINS-5125 is not implemented: {code} public boolean isBuilding() { RunT b = getLastBuild(); return b!=null && b.isLogUpdated(); } {code}
We think there might be a chance that implementing this code fragment would also fix our issue.
|
|
|
|
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira
|
--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
[email protected].
For more options, visit
https://groups.google.com/d/optout.