-
Improvement
-
Resolution: Unresolved
-
Major
-
None
I have a Jenkins instance which builds about 40 projects from a remote mercurial repository. I have caching and repo sharing enabled. All updates are sent as notifications to Jenkins.
When a new update is pushed to the main repo, a notification is sent to Jenkins which duly updates it's local repo cache. Then 40 jobs want to check for updates to their module (mercurial polling log). In order to do this they acquire the master cache lock. Poll the remote repo for any new changes and decide if they need to be build.
As the remote poll takes 4 seconds it can take the last project about 4*40 = 160 seconds to even be able to start after the commit is pushed which sort of defaults the purpose of having a cache (you hit your hg server 40x harder though).
It would be better if the individual jobs didn't re-query the remote server when they are triggered by a commit.
Could an option be added which stops the poller from updating from the remote site.