-
Bug
-
Resolution: Unresolved
-
Minor
-
None
There is a problem with the git polling mechanism which is causing all our jobs to kick themselves off continually. This happens at random times and just fixes itself, but is causing us all sorts of problems due to the large number of builds triggered.
This is an example of the git polling log:
Started on 28-Oct-2011 03:20:22 Using strategy: Default [poll] Last Build : #480 [poll] Last Built Revision: Revision abcb8a2492b390521e0c720f96f66a88eae09f18 (origin/master) Workspace has a .git repository, but it appears to be corrupt. No Git repository yet, an initial checkout is required Done. Took 0.26 sec Changes found
This is caused when a "git rev-parse --verify HEAD" fails for some reason, but there is no logging to help in what might have gone wrong. It looks like the try/catch around the validateRevision line is too simplistic and the cause of the exception should be considered before returning false.
I had success working around this by deactivating all jobs and then slowly activating them. The error seemed to be caused by too many jobs making git requests at once. Scripts pasted below. The second one times out (proxy 502 error) but still runs to completion. Basic idea stolen from a Jenkins wiki page.
import hudson.model.*
// For each project
for(item in Hudson.instance.items) {
println("JOB : "+item.name)
item.disabled=true
item.save()
println("\n=======\n")
}
-----------------------------------------------------
import hudson.model.*
// For each project
{ item.disabled=false item.save() Object.sleep(25000) }for(item in Hudson.instance.items) {
println("JOB : "+item.name)
if (item.disabled == true)
}