-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
jenkins 2.107.3
git-plugin 3.9.0
github-plugin 1.29.0
github API 1.90
I am seeing some long delays between github webhook events and jobs polling for changes (e.g. from GitHub Hook Log). Note the almost 17 1/2 hour gap between the event being received and the polling being performed.
Started on Oct 16, 2018 2:46:44 PM
Started by event from 43.148.32.90 ? https://<jenkins>/github-webhook/ on Mon Oct 15 21:19:54 BST 2018
[poll] Last Built Revision: Revision c7013e0bb447b77bf13e719201ce2acb44b073af (refs/remotes/origin/<branch>)
{{ > git --version # timeout=30}}
using GIT_SSH to set credentials <creds>
{{ > git ls-remote -h <repo> # timeout=30}}
Found 345 remote heads on <git_url>
[poll] Latest remote head revision on refs/heads/<branch> is: c7013e0bb447b77bf13e719201ce2acb44b073af - already built by 34835
Done. Took 3 sec
No changes
I have checked that github is sending the webhook notifications and these get a http 200 response code.
The Jenkins Log reports the PushEvents are being received and that my build job is being "Poked" but polling is not being run for the job.
Oct 16, 2018 3:29:50 PM FINEST org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler parse
{{Payload }}
...
Oct 16, 2018 3:29:50 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber onEvent
Received PushEvent for https://<github>/<user>/<repo> from <ip> ⇒ https://<jenkins>/github-webhook/
Oct 16, 2018 3:29:51 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run
Considering to poke my_build
Oct 16, 2018 3:29:51 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run
Poked my_build
The agent that my_build runs on is not permanently busy.
Any idea what is going on here? How can I debug this further?
We have a lot of jobs (~1000) and possibly a lot (10s) of jobs polling SCMs but I can't imagine this would take 17 1/2 hours...
[JENKINS-54106] Long delay from github webhook to polling when polling threads all busy
Description |
Original:
I am seeing some long delays between github webhook events and jobs polling for changes (e.g. from GitHub Hook Log). Note the almost 17 1/2 hour gap between the event being received and the polling being performed. {{Started on Oct 16, 2018 2:46:44 PM}} {{Started by event from 43.148.32.90 ? https://<jenkins>/github-webhook/ on Mon Oct 15 21:19:54 BST 2018}} {{[poll] Last Built Revision: Revision c7013e0bb447b77bf13e719201ce2acb44b073af (refs/remotes/origin/<branch>)}} {{ > git --version # timeout=30}} {{using GIT_SSH to set credentials <creds>}} {{ > git ls-remote -h <repo> # timeout=30}} {{Found 345 remote heads on <git_url>}} {{[poll] Latest remote head revision on refs/heads/<branch> is: c7013e0bb447b77bf13e719201ce2acb44b073af - already built by 34835}} {{Done. Took 3 sec}} {{No changes}} I have checked that github is sending the webhook notifications and these get a http 200 response code. The Jenkins Log reports the PushEvents are being received and that my build is being "Poked". {{Oct 16, 2018 3:29:50 PM FINEST org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler parse}} {{Payload }} {{...}} {{Oct 16, 2018 3:29:50 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber onEvent}} {{Received PushEvent for https://<github>/<user>/<repo> from <ip> ⇒ https://<jenkins>/github-webhook/}} {{Oct 16, 2018 3:29:51 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Considering to poke my_build}} {{Oct 16, 2018 3:29:51 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Poked my_build}} The agent that my_build runs on is not permanently busy. Any idea what is going on here? How can I debug this further? |
New:
I am seeing some long delays between github webhook events and jobs polling for changes (e.g. from GitHub Hook Log). Note the almost 17 1/2 hour gap between the event being received and the polling being performed. {{Started on Oct 16, 2018 2:46:44 PM}} {{Started by event from 43.148.32.90 ? https://<jenkins>/github-webhook/ on Mon Oct 15 21:19:54 BST 2018}} {{[poll] Last Built Revision: Revision c7013e0bb447b77bf13e719201ce2acb44b073af (refs/remotes/origin/<branch>)}} \{{ > git --version # timeout=30}} {{using GIT_SSH to set credentials <creds>}} \{{ > git ls-remote -h <repo> # timeout=30}} {{Found 345 remote heads on <git_url>}} {{[poll] Latest remote head revision on refs/heads/<branch> is: c7013e0bb447b77bf13e719201ce2acb44b073af - already built by 34835}} {{Done. Took 3 sec}} {{No changes}} I have checked that github is sending the webhook notifications and these get a http 200 response code. The Jenkins Log reports the PushEvents are being received and that my build job is being "Poked" but polling is not being run for the job. {{Oct 16, 2018 3:29:50 PM FINEST org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler parse}} \{{Payload }} {{...}} {{Oct 16, 2018 3:29:50 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber onEvent}} {{Received PushEvent for https://<github>/<user>/<repo> from <ip> ⇒ https://<jenkins>/github-webhook/}} {{Oct 16, 2018 3:29:51 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Considering to poke my_build}} {{Oct 16, 2018 3:29:51 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Poked my_build}} The agent that my_build runs on is not permanently busy. Any idea what is going on here? How can I debug this further? |
Description |
Original:
I am seeing some long delays between github webhook events and jobs polling for changes (e.g. from GitHub Hook Log). Note the almost 17 1/2 hour gap between the event being received and the polling being performed. {{Started on Oct 16, 2018 2:46:44 PM}} {{Started by event from 43.148.32.90 ? https://<jenkins>/github-webhook/ on Mon Oct 15 21:19:54 BST 2018}} {{[poll] Last Built Revision: Revision c7013e0bb447b77bf13e719201ce2acb44b073af (refs/remotes/origin/<branch>)}} \{{ > git --version # timeout=30}} {{using GIT_SSH to set credentials <creds>}} \{{ > git ls-remote -h <repo> # timeout=30}} {{Found 345 remote heads on <git_url>}} {{[poll] Latest remote head revision on refs/heads/<branch> is: c7013e0bb447b77bf13e719201ce2acb44b073af - already built by 34835}} {{Done. Took 3 sec}} {{No changes}} I have checked that github is sending the webhook notifications and these get a http 200 response code. The Jenkins Log reports the PushEvents are being received and that my build job is being "Poked" but polling is not being run for the job. {{Oct 16, 2018 3:29:50 PM FINEST org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler parse}} \{{Payload }} {{...}} {{Oct 16, 2018 3:29:50 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber onEvent}} {{Received PushEvent for https://<github>/<user>/<repo> from <ip> ⇒ https://<jenkins>/github-webhook/}} {{Oct 16, 2018 3:29:51 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Considering to poke my_build}} {{Oct 16, 2018 3:29:51 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Poked my_build}} The agent that my_build runs on is not permanently busy. Any idea what is going on here? How can I debug this further? |
New:
I am seeing some long delays between github webhook events and jobs polling for changes (e.g. from GitHub Hook Log). Note the almost 17 1/2 hour gap between the event being received and the polling being performed. {{Started on Oct 16, 2018 2:46:44 PM}} {{Started by event from 43.148.32.90 ? https://<jenkins>/github-webhook/ on Mon Oct 15 21:19:54 BST 2018}} {{[poll] Last Built Revision: Revision c7013e0bb447b77bf13e719201ce2acb44b073af (refs/remotes/origin/<branch>)}} \{{ > git --version # timeout=30}} {{using GIT_SSH to set credentials <creds>}} \{{ > git ls-remote -h <repo> # timeout=30}} {{Found 345 remote heads on <git_url>}} {{[poll] Latest remote head revision on refs/heads/<branch> is: c7013e0bb447b77bf13e719201ce2acb44b073af - already built by 34835}} {{Done. Took 3 sec}} {{No changes}} I have checked that github is sending the webhook notifications and these get a http 200 response code. The Jenkins Log reports the PushEvents are being received and that my build job is being "Poked" but polling is not being run for the job. {{Oct 16, 2018 3:29:50 PM FINEST org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler parse}} \{{Payload }} {{...}} {{Oct 16, 2018 3:29:50 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber onEvent}} {{Received PushEvent for https://<github>/<user>/<repo> from <ip> ⇒ https://<jenkins>/github-webhook/}} {{Oct 16, 2018 3:29:51 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Considering to poke my_build}} {{Oct 16, 2018 3:29:51 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Poked my_build}} The agent that my_build runs on is not permanently busy. Any idea what is going on here? How can I debug this further? We have a lot of jobs and possibly a lot of SCM polls happening. How can I see a log of these or examine the queue of SCM polls waiting? |
Description |
Original:
I am seeing some long delays between github webhook events and jobs polling for changes (e.g. from GitHub Hook Log). Note the almost 17 1/2 hour gap between the event being received and the polling being performed. {{Started on Oct 16, 2018 2:46:44 PM}} {{Started by event from 43.148.32.90 ? https://<jenkins>/github-webhook/ on Mon Oct 15 21:19:54 BST 2018}} {{[poll] Last Built Revision: Revision c7013e0bb447b77bf13e719201ce2acb44b073af (refs/remotes/origin/<branch>)}} \{{ > git --version # timeout=30}} {{using GIT_SSH to set credentials <creds>}} \{{ > git ls-remote -h <repo> # timeout=30}} {{Found 345 remote heads on <git_url>}} {{[poll] Latest remote head revision on refs/heads/<branch> is: c7013e0bb447b77bf13e719201ce2acb44b073af - already built by 34835}} {{Done. Took 3 sec}} {{No changes}} I have checked that github is sending the webhook notifications and these get a http 200 response code. The Jenkins Log reports the PushEvents are being received and that my build job is being "Poked" but polling is not being run for the job. {{Oct 16, 2018 3:29:50 PM FINEST org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler parse}} \{{Payload }} {{...}} {{Oct 16, 2018 3:29:50 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber onEvent}} {{Received PushEvent for https://<github>/<user>/<repo> from <ip> ⇒ https://<jenkins>/github-webhook/}} {{Oct 16, 2018 3:29:51 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Considering to poke my_build}} {{Oct 16, 2018 3:29:51 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Poked my_build}} The agent that my_build runs on is not permanently busy. Any idea what is going on here? How can I debug this further? We have a lot of jobs and possibly a lot of SCM polls happening. How can I see a log of these or examine the queue of SCM polls waiting? |
New:
I am seeing some long delays between github webhook events and jobs polling for changes (e.g. from GitHub Hook Log). Note the almost 17 1/2 hour gap between the event being received and the polling being performed. {{Started on Oct 16, 2018 2:46:44 PM}} {{Started by event from 43.148.32.90 ? https://<jenkins>/github-webhook/ on Mon Oct 15 21:19:54 BST 2018}} {{[poll] Last Built Revision: Revision c7013e0bb447b77bf13e719201ce2acb44b073af (refs/remotes/origin/<branch>)}} \{{ > git --version # timeout=30}} {{using GIT_SSH to set credentials <creds>}} \{{ > git ls-remote -h <repo> # timeout=30}} {{Found 345 remote heads on <git_url>}} {{[poll] Latest remote head revision on refs/heads/<branch> is: c7013e0bb447b77bf13e719201ce2acb44b073af - already built by 34835}} {{Done. Took 3 sec}} {{No changes}} I have checked that github is sending the webhook notifications and these get a http 200 response code. The Jenkins Log reports the PushEvents are being received and that my build job is being "Poked" but polling is not being run for the job. {{Oct 16, 2018 3:29:50 PM FINEST org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler parse}} \{{Payload }} {{...}} {{Oct 16, 2018 3:29:50 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber onEvent}} {{Received PushEvent for https://<github>/<user>/<repo> from <ip> ⇒ https://<jenkins>/github-webhook/}} {{Oct 16, 2018 3:29:51 PM FINE org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Considering to poke my_build}} {{Oct 16, 2018 3:29:51 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run}} {{Poked my_build}} The agent that my_build runs on is not permanently busy. Any idea what is going on here? How can I debug this further? We have a lot of jobs (~1000) and possibly a lot (10s) of jobs polling SCMs but I can't imagine this would take 17 1/2 hours... |
Assignee | Original: Mark Waite [ markewaite ] |
Summary | Original: Long delay from github webhook to polling | New: Long delay from github webhook to polling when polling threads all busy |
It looks like all 10 of the SCM polling threads were stuck processing another job. (e.g.)
SCMTrigger 3
"SCMTrigger 3" Id=334 Group=main WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@7088b71d at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@7088b71d at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Waiting to acquire C:\j\w\JobName : GitHubPushTrigger 3
"Waiting to acquire C:\j\w\JobName : GitHubPushTrigger 3" Id=857002 Group=main WAITING on hudson.slaves.WorkspaceList@744f269b at java.lang.Object.wait(Native Method) - waiting on hudson.slaves.WorkspaceList@744f269b at java.lang.Object.wait(Object.java:502) at hudson.slaves.WorkspaceList.acquire(WorkspaceList.java:257) at hudson.slaves.WorkspaceList.acquire(WorkspaceList.java:236) at hudson.model.AbstractProject.pollWithWorkspace(AbstractProject.java:1405) at hudson.model.AbstractProject._poll(AbstractProject.java:1382) at hudson.model.AbstractProject.poll(AbstractProject.java:1293) at jenkins.triggers.SCMTriggerItem$SCMTriggerItems$Bridge.poll(SCMTriggerItem.java:143) at com.cloudbees.jenkins.GitHubPushTrigger$1.runPolling(GitHubPushTrigger.java:109) at com.cloudbees.jenkins.GitHubPushTrigger$1.run(GitHubPushTrigger.java:135) at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:119) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Number of locked synchronizers = 1 - java.util.concurrent.ThreadPoolExecutor$Worker@4045db32