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

Job fails because JiraSCMListener times out on too many changes

      If there are too many changes (in our case more than 1000 commits), the JiraSCMListener times out and fails the job.

      java.util.concurrent.TimeoutException: Timeout waiting for task.
      	at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:259)
      	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:91)
      	at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:69)
      	at com.atlassian.jira.rest.client.internal.async.DelegatingPromise.get(DelegatingPromise.java:107)
      	at hudson.plugins.jira.JiraRestService.getIssuesFromJqlSearch(JiraRestService.java:177)
      	at hudson.plugins.jira.JiraSession.getIssuesFromJqlSearch(JiraSession.java:136)
      	at io.jenkins.blueocean.service.embedded.jira.JiraSCMListener.onChangeLogParsed(JiraSCMListener.java:43)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun.onCheckout(WorkflowRun.java:1036)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun.access$1400(WorkflowRun.java:143)
      	at org.jenkinsci.plugins.workflow.job.WorkflowRun$SCMListenerImpl.onCheckout(WorkflowRun.java:1239)
      	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:127)
      	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:85)
      	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:75)
      	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
      	at hudson.security.ACL.impersonate(ACL.java:290)
      	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
      	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:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

          [JENKINS-53320] Job fails because JiraSCMListener times out on too many changes

          Patrick Ruckstuhl created issue -

          This is reproductible on a Jenkins 2.121.3 with BlueOcean Jira 1.7.1. There is no problem with BlueOcean Jira 1.5.1.

          Adrien Lecharpentier added a comment - This is reproductible on a Jenkins 2.121.3 with BlueOcean Jira 1.7.1 . There is no problem with BlueOcean Jira 1.5.1 .
          Olivier Lamy made changes -
          Component/s New: jira-plugin [ 15515 ]
          Component/s Original: blueocean-plugin [ 21481 ]
          Olivier Lamy made changes -
          Component/s New: blueocean-plugin [ 21481 ]
          Olivier Lamy made changes -
          Labels New: blueocean-backend

          We're also hitting this bug, with JIRA Integration for Blue Ocean version 1.8.2.

          Mostyn Bramley-Moore added a comment - We're also hitting this bug, with JIRA Integration for Blue Ocean version 1.8.2.
          Vivek Pandey made changes -
          Assignee New: Olivier Lamy [ olamy ]

          Olivier Lamy added a comment - - edited

          tario  mbmop  does all commit relates to same Jira issue or is it a lot of Jira issues?

          And did you try increasing timeout?

          Olivier Lamy added a comment - - edited tario   mbmop   does all commit relates to same Jira issue or is it a lot of Jira issues? And did you try increasing timeout?

          Olivier Lamy added a comment -

          btw a very simple improvement is to improve the jql query construction for duplicate keys.

          ATM if 2 changelog entries have TEST-123 as Jira issue, the generated jql is 

          key in ('TEST-123', 'TEST-123') 

          which is definitely not optimum.

          Olivier Lamy added a comment - btw a very simple improvement is to improve the jql query construction for duplicate keys. ATM if 2 changelog entries have TEST-123 as Jira issue, the generated jql is  key in ( 'TEST-123' , 'TEST-123' ) which is definitely not optimum.

          Olivier Lamy added a comment -

          current default timeout is 10s maybe we can increase this default value? (30s)

          Olivier Lamy added a comment - current default timeout is 10s maybe we can increase this default value? (30s)

            olamy Olivier Lamy
            tario Patrick Ruckstuhl
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: