Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-72047

scm-filter-jervis gives up after 1 API request to GitHub which can lead to missed webhooks

    • 2.0-66.vc21d0c1d936d

      Bug description

      Webhooks get received by Jenkins but do not create jobs or start builds. This only happens sometimes.

      Other info

      I noticed clock drift on GitHub servers but it wasn't a factor.

      I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

      We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

      For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

      However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

      Custom loggers

      I installed the support-core plugin and created a custom logger named "GitHub webhooks debugging".

      I have logging enabled for the following classes currently (level ALL):

      com.cloudbees.jenkins.GitHubWebHook
      org.jenkinsci.plugins.github.webhook.WebhookManager
      org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
      org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
      org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
      org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
      org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
      org.jenkinsci.plugins.github.webhook.GHWebhookSignature
      org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
      org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
      org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
      org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
      org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
      org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
      jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
      jenkins.branch.buildstrategies.basic.ChangeRequestBuildStrategyImpl
      jenkins.scm.api.SCMHeadEvent
      jenkins.branch.MultiBranchProject
      

      I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

      However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.

      Sample job

      See attachment sample-job.xml

      Jenkins war and plugin versions

      See dependencies.gradle and the companion comment "How to reproduce" in the comments section of this issue.
       

          [JENKINS-72047] scm-filter-jervis gives up after 1 API request to GitHub which can lead to missed webhooks

          Sam Gleske created issue -
          Sam Gleske made changes -
          Description Original: I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          I have logging enabled for the following classes currently (level ALL):

          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          {noformat}

          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.
          New: I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          I have logging enabled for the following classes currently (level ALL):

          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          {noformat}

          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.
          Sam Gleske made changes -
          Attachment New: sample-job.xml [ 61173 ]
          Sam Gleske made changes -
          Attachment New: dependencies.gradle [ 61174 ]
          Sam Gleske made changes -
          Description Original: I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          I have logging enabled for the following classes currently (level ALL):

          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          {noformat}

          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.
          New: I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          I have logging enabled for the following classes currently (level ALL):
          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
          jenkins.branch.buildstrategies.basic.ChangeRequestBuildStrategyImpl
          jenkins.scm.api.SCMHeadEvent
          {noformat}
          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.

          h2. Sample job

          See attachment sample-job.xml

          h2. Jenkins war and plugin versions

          See dependencies.gradle and the companion comment in the comments section of this issue.
           
          Sam Gleske made changes -
          Summary Original: Potential clock-drift bug where webhooks are not processed New: Clock-drift bug where webhooks are not processed
          Sam Gleske made changes -
          Description Original: I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          I have logging enabled for the following classes currently (level ALL):
          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
          jenkins.branch.buildstrategies.basic.ChangeRequestBuildStrategyImpl
          jenkins.scm.api.SCMHeadEvent
          {noformat}
          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.

          h2. Sample job

          See attachment sample-job.xml

          h2. Jenkins war and plugin versions

          See dependencies.gradle and the companion comment in the comments section of this issue.
           
          New: I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          h2. Custom loggers

          I installed the support-core plugin and set up a custom logger.

          I have logging enabled for the following classes currently (level ALL):
          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
          jenkins.branch.buildstrategies.basic.ChangeRequestBuildStrategyImpl
          jenkins.scm.api.SCMHeadEvent
          {noformat}
          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.

          h2. Sample job

          See attachment sample-job.xml

          h2. Jenkins war and plugin versions

          See dependencies.gradle and the companion comment in the comments section of this issue.
           
          Sam Gleske made changes -
          Description Original: I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          h2. Custom loggers

          I installed the support-core plugin and set up a custom logger.

          I have logging enabled for the following classes currently (level ALL):
          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
          jenkins.branch.buildstrategies.basic.ChangeRequestBuildStrategyImpl
          jenkins.scm.api.SCMHeadEvent
          {noformat}
          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.

          h2. Sample job

          See attachment sample-job.xml

          h2. Jenkins war and plugin versions

          See dependencies.gradle and the companion comment in the comments section of this issue.
           
          New: h2. Bug description

          I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          h2. Custom loggers

          I installed the support-core plugin and set up a custom logger.

          I have logging enabled for the following classes currently (level ALL):
          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
          jenkins.branch.buildstrategies.basic.ChangeRequestBuildStrategyImpl
          jenkins.scm.api.SCMHeadEvent
          {noformat}
          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.

          h2. Sample job

          See attachment sample-job.xml

          h2. Jenkins war and plugin versions

          See dependencies.gradle and the companion comment in the comments section of this issue.
           
          Sam Gleske made changes -
          Priority Original: Minor [ 4 ] New: Major [ 3 ]
          Sam Gleske made changes -
          Description Original: h2. Bug description

          I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          h2. Custom loggers

          I installed the support-core plugin and set up a custom logger.

          I have logging enabled for the following classes currently (level ALL):
          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
          jenkins.branch.buildstrategies.basic.ChangeRequestBuildStrategyImpl
          jenkins.scm.api.SCMHeadEvent
          {noformat}
          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.

          h2. Sample job

          See attachment sample-job.xml

          h2. Jenkins war and plugin versions

          See dependencies.gradle and the companion comment in the comments section of this issue.
           
          New: h2. Bug description

          I verified GitHub API servers have about a 12 second clock drift currently compared to time.gov.

          We've been having several webhooks issues and I'm suspicious about the clock differences (I haven't nailed down a specific bug in code, yet).

          For example, GitHub will send a webhook at 22:07:04 and Jenkins will process the hook payload with signature verification at 22:07:03. No builds trigger for this clock difference and the log is missing from the multibranch pipeline event log.

          However, if I close and re-open the pull request to trigger another webhook its timestamps are in chronological order and succeed. Is it possible there's a clock drift bug in code? I'm still struggling to track it down with traces.

          h2. Custom loggers

          I installed the support-core plugin and set up a custom logger.

          I have logging enabled for the following classes currently (level ALL):
          {noformat}
          com.cloudbees.jenkins.GitHubWebHook
          org.jenkinsci.plugins.github.webhook.WebhookManager
          org.jenkinsci.plugins.github.admin.GitHubHookRegisterProblemMonitor
          org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.subscriber.PingGHEventSubscriber
          org.jenkinsci.plugins.github.webhook.GHEventHeader$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHEventPayload$PayloadHandler
          org.jenkinsci.plugins.github.webhook.GHWebhookSignature
          org.jenkinsci.plugins.github.webhook.RequirePostWithGHHookPayload$Processor
          org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty
          org.jenkinsci.plugins.github_branch_source.GitHubRepositoryEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PushGHEventSubscriber
          org.jenkinsci.plugins.github_branch_source.PullRequestGHEventSubscriber
          org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject
          jenkins.branch.buildstrategies.basic.TagBuildStrategyImpl
          jenkins.branch.buildstrategies.basic.ChangeRequestBuildStrategyImpl
          jenkins.scm.api.SCMHeadEvent
          {noformat}
          I'm able to trace webhook events from GitHub to Jenkins and inside of Jenkins: pull request event, payload received, signature verification succeeded.

          However, the trail stops at signature verification and there's no multibranch pipeline event log. If I retry it goes through all of the above and an event shows up in multibranch pipeline event log with a build being started.

          h2. Sample job

          See attachment sample-job.xml

          h2. Jenkins war and plugin versions

          See dependencies.gradle and the companion comment "How to reproduce" in the comments section of this issue.
           
          Sam Gleske made changes -
          Link New: This issue is related to JENKINS-62095 [ JENKINS-62095 ]

            sag47 Sam Gleske
            sag47 Sam Gleske
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: