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

Feature: abort job while performing scm checkout cause retry instead of aborting it

XMLWordPrintable

      If you increase  SCM checkout retry, and you abort a job while it performing scm checkout, it will not detect that the job has been aborted and it will retry the job instead of aborting it. see log:

      Started by user BLABLA
      Obtained Jenkinsfile from c123456789101112131415
      [Pipeline] Start of Pipeline
      [Pipeline] library
      Loading library pipeline-library@master
      Attempting to resolve my-branch from remote references...
       > git --version # timeout=10
       > git --version # 'git version 2.30.2'
      using GIT_ASKPASS to set credentials 
       > git ls-remote -h -- https://bitbucket.org/account_name/repo_name.git # timeout=10
      Found match: refs/heads/my-branch revision 164e4f446c6fb83a07a71f6f657c3ec1b5c35779
      Selected Git installation does not exist. Using Default
      The recommended git tool is: NONE
      using credential my-token
      Wiping out workspace first.
      Cloning the remote Git repository
      Cloning with configured refspecs honoured and without tags
      Cloning repository https://bitbucket.org/account_name/repo_name.git
       > git init /var/jenkins_home/workspace/_repos_my-repo_master@libs/c123456789101112131415 # timeout=10
      Fetching upstream changes from https://bitbucket.org/account_name/repo_name.git
       > git --version # timeout=10
       > git --version # 'git version 2.30.2'
      using GIT_ASKPASS to set credentials 
       > git fetch --no-tags --force --progress -- https://bitbucket.org/account_name/repo_name.git +refs/heads/*:refs/remotes/origin/* # timeout=10
      Aborted by BLABLA
      ERROR: Checkout failed
      java.lang.NullPointerException
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2702)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2111)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:87)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:623)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:852)
          at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1229)
          at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1312)
          at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:129)
          at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:201)
          at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:148)
          at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:200)
          at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:137)
          at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:260)
          at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:229)
          at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:157)
          at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
          at hudson.security.ACL.impersonate2(ACL.java:451)
          at hudson.security.ACL.impersonate(ACL.java:463)
          at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
          at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
          at java.base/java.lang.Thread.run(Thread.java:829)
      Retrying after 10 seconds
      Selected Git installation does not exist. Using Default
      The recommended git tool is: NONE
      using credential my-token
      Wiping out workspace first.
      Cloning the remote Git repository
      Cloning with configured refspecs honoured and without tags
      Cloning repository https://bitbucket.org/account_name/repo_name.git 

       

       

       

      How to reproduce

      Create new jenkins pipeline that has scm checkout step (enabled by default) & has shared libs in it

      Go to Configure System --> and increase SCM checkout retry count to 2

      Then, try to abort the job while it performing scm checkout

       

      Note: I wasn't sure if this is related to the git plugin or to pipeline scm step plugin, sorry if I got it wrong

            Unassigned Unassigned
            dordor dor s
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: