Status: Closed (View Workflow)
Jenkins 2.164.3 (latest LTS)
Git plugin 3.10.0
Git client plugin 2.7.7
Branch API plugin 2.5.0
Jenkins 2.176 (selected for next LTS baseline)
Git plugin 4.0.0-beta10 pre-release
Git client plugin 3.0.0-beta10 pre-release
Branch API plugin 2.5.0
I updated to branch API plugin 2.5.0 today. When I scan a multibranch Pipeline (Git branch source or GitHub branch source) the first time after the upgrade to branch API plugin 2.5.0, all jobs in that multibranch Pipeline are started. That means (in my case) that I now have more than 500 jobs in the queue waiting to run.
The "Scan repository log" of the multibranch job shows:
Started by user Mark Waite [Tue May 21 13:37:54 MDT 2019] Starting branch indexing... 13:37:55 Connecting to https://api.github.com using MarkEWaite/****** (github personal access token for home.markwaite.net) Examining MarkEWaite/jenkins-bugs-private Checking branches... Getting remote branches... Checking branch master Getting remote pull requests... ‘Jenkinsfile’ found Met criteria Changes detected: master (null → 49101d07a954d083cae4bb0a06aaa081c6ae0fc8) Scheduled build for branch: master Checking branch JENKINS-06203 ‘Jenkinsfile’ found Met criteria Changes detected: JENKINS-06203 (null → 6de0c64bb4cc6eb12964479bf37f5bb202f52aa4) Scheduled build for branch: JENKINS-06203
Each repository reports that changes are detected in the transition from null to a SHA-1. However, I know that almost every one of the branches in that repository have received no changes since before the update.
Once the initial scan has completed and the resulting rebuild of all branches is complete, then the "Scan repository log" starts no job and the change detection message says:
No changes detected: master (still at 49101d07a954d083cae4bb0a06aaa081c6ae0fc8)
- is related to
JENKINS-57618 Implement automated tests for Branch API 2.5.1
- links to
Since you were able to repro this do you have an instance where you can try this incremental?
If trying to repro this on an existing instance that was upgraded, you will of course need to downgrade and then delete the lastSeen files first.
That incremental build resolved the issue. Thanks!
Fixed in branch API release 2.5.1
Refer to pull request 152 for an initial idea that might prevent the build storm.
It seems that line 2082 in the diff might not be handling the initial startup case where a job already exists but the lastSeenRevision file has not been written.