-
Bug
-
Resolution: Cannot Reproduce
-
Critical
-
None
-
Jenkins 2.73.3 (docker image) master + 3 build agents on separate machines
Pipeline Multibranch Plugin 2.16
Jenkins runs on port 8080 in Amazon Cloud and sits behind a reverse proxy (traefik.io) that is enforcing TLS communication at https://jenkins.mycompany.com
A Pipeline Multibranch is configured to scan our team account at https://bitbucket.org on an hourly schedule. This account has 30+ git repositories, some of which have many concurrent branches concurrently being worked on.
As the Multibranch detects changes, it fires off something like 7-10 branch builds for the same repo, all at the same time. Build history shows these jobs as having been queued with something like 1-second intervals.
What we're experiencing:
Typically, two builds succeed, the remainder fail with the same error message:
hudson.plugins.git.GitException: Command "/usr/bin/git fetch --no-tags --progress https://bitbucket.org/mycompany/myrepo.git +refs/heads/mybranch:refs/remotes/origin/mybranch" returned status code 128:
{{stdout: }}
stderr: fatal: unable to access 'https://bitbucket.org/mycompany/myrepo.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
When manually restarting the failed jobs, they work fine.
Possible Cause: some sort of race condition / concurrency issue occurs between git checkouts?
The branch detection and job queueing mechanics are a bit of black magic voodoo to me but I get the impression that this issue wouldn't occur if a small sliver of time were allocated between builds.