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

Git plugin 4.14.0 does not honor the ignore committer strategy

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • git-plugin
    • 4.14.1

      Since latest git plugin my multi branch pipeline builds never stop being triggered.
      The configured ignore committer strategy plugin does no longer seem to be effective.

      I reverted back to the git plugin 4.13.0 which obviously fixed the problem.

          [JENKINS-70158] Git plugin 4.14.0 does not honor the ignore committer strategy

          Mark Waite added a comment -

          Thanks for reporting the issue. Can you provide enough details so that others can duplicate the issue in a fresh installation of Jenkins and the plugins that you are using?

          The changes between 4.13.x and 4.14.0 should not have affected the processing of strategies, but it certainly is possible that they did.

          See "How to report an issue" for the types of details that are needed.

          Mark Waite added a comment - Thanks for reporting the issue. Can you provide enough details so that others can duplicate the issue in a fresh installation of Jenkins and the plugins that you are using? The changes between 4.13.x and 4.14.0 should not have affected the processing of strategies, but it certainly is possible that they did. See "How to report an issue" for the types of details that are needed.

          Mark Waite added a comment - - edited

          I think that I've been able to duplicate the issue based on your description.  Will need time in a debugger to understand why the 4.13.0 polling log reports:

          Git plugin 4.13.0 multibranch polling log (with ignore committer strategy enabled)

            Checking branch JENKINS-70158
                ‘Jenkinsfile’ found
              Met criteria
          Changes detected: JENKINS-70158 (ae9a1a56aeae3cb82f0dc28b97db4ee1e55f5e2b → b55c00cae181f140f92d9c4c3094c97a8ef05a27)
          No automatic build triggered for JENKINS-70158
          

          Git plugin 4.14.0 multibranch polling log (with ignore committer strategy enabled)

            Checking branch JENKINS-70158
                ‘Jenkinsfile’ found
              Met criteria
          Changes detected: JENKINS-70158 (c1ea9a1b908235d4603552aff6543cc7490d3e73 → cd8ca48c7a459cca2391c5332c4fc151ef2e84d8)
          Scheduled build for branch: JENKINS-70158
          

          Same committer in both cases, yet 4.14.0 does not honor the ignore committer strategy configuration.

          Sample job is defined in https://github.com/MarkEWaite/jenkins-bugs/tree/JENKINS-70158 . Multibranch pipeline definition with ignore committer strategy was created interactively for a quick verification check. I'll automate the check and reduce that failure case to more precisely report the problem.

          Mark Waite added a comment - - edited I think that I've been able to duplicate the issue based on your description.  Will need time in a debugger to understand why the 4.13.0 polling log reports: Git plugin 4.13.0 multibranch polling log (with ignore committer strategy enabled) Checking branch JENKINS-70158 ‘Jenkinsfile’ found Met criteria Changes detected: JENKINS-70158 (ae9a1a56aeae3cb82f0dc28b97db4ee1e55f5e2b → b55c00cae181f140f92d9c4c3094c97a8ef05a27) No automatic build triggered for JENKINS-70158 Git plugin 4.14.0 multibranch polling log (with ignore committer strategy enabled) Checking branch JENKINS-70158 ‘Jenkinsfile’ found Met criteria Changes detected: JENKINS-70158 (c1ea9a1b908235d4603552aff6543cc7490d3e73 → cd8ca48c7a459cca2391c5332c4fc151ef2e84d8) Scheduled build for branch: JENKINS-70158 Same committer in both cases, yet 4.14.0 does not honor the ignore committer strategy configuration. Sample job is defined in https://github.com/MarkEWaite/jenkins-bugs/tree/JENKINS-70158 . Multibranch pipeline definition with ignore committer strategy was created interactively for a quick verification check. I'll automate the check and reduce that failure case to more precisely report the problem.

          We experience the same, big blocker for our development workflow. The exception from the jenkins logs is probably the root cause

          Nov 26, 2022 9:42:06 PM SEVERE au.com.versent.jenkins.plugins.ignoreCommitterStrategy.IgnoreCommitterStrategy isAutomaticBuildException
          java.lang.NullPointerException
          	at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl$HeadNameResult.calculate(GitSCMFileSystem.java:312)
          	at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:402)
          	at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:329)
          	at au.com.versent.jenkins.plugins.ignoreCommitterStrategy.IgnoreCommitterStrategy.isAutomaticBuild(IgnoreCommitterStrategy.java:100)
          	at jenkins.branch.BranchBuildStrategy.automaticBuild(BranchBuildStrategy.java:260)
          	at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.isAutomaticBuild(MultiBranchProject.java:2251)
          	at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.doAutomaticBuilds(MultiBranchProject.java:2202)
          	at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.observeExisting(MultiBranchProject.java:2028)
          	at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.observe(MultiBranchProject.java:1988)
          	at jenkins.scm.api.SCMHeadObserver$Wrapped.observe(SCMHeadObserver.java:637)
          	at jenkins.scm.api.SCMHeadEvent$Validated.observe(SCMHeadEvent.java:295)
          	at jenkins.scm.api.trait.SCMSourceRequest.process(SCMSourceRequest.java:357)
          	at jenkins.scm.api.trait.SCMSourceRequest.process(SCMSourceRequest.java:249)
          	at org.jenkinsci.plugins.github_branch_source.GitHubSCMSource.retrieve(GitHubSCMSource.java:1055)
          	at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:373)
          	at jenkins.scm.api.SCMSource.fetch(SCMSource.java:327)
          	at jenkins.branch.MultiBranchProject$SCMEventListenerImpl.processHeadUpdate(MultiBranchProject.java:1587)
          	at jenkins.branch.MultiBranchProject$SCMEventListenerImpl.onSCMHeadEvent(MultiBranchProject.java:1191)
          	at jenkins.scm.api.SCMHeadEvent$DispatcherImpl.fire(SCMHeadEvent.java:246)
          	at jenkins.scm.api.SCMHeadEvent$DispatcherImpl.fire(SCMHeadEvent.java:229)
          	at jenkins.scm.api.SCMEvent$Dispatcher.run(SCMEvent.java:546)
          	at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:69)
          	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.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
          	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) 

          markewaite how did you manage to downgrade? This option is not available for me.

           

          Christian Moser added a comment - We experience the same, big blocker for our development workflow. The exception from the jenkins logs is probably the root cause https://issues.jenkins.io/browse/JENKINS-70160 Nov 26, 2022 9:42:06 PM SEVERE au.com.versent.jenkins.plugins.ignoreCommitterStrategy.IgnoreCommitterStrategy isAutomaticBuildException java.lang.NullPointerException at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl$HeadNameResult.calculate(GitSCMFileSystem.java:312) at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:402) at jenkins.plugins.git.GitSCMFileSystem$BuilderImpl.build(GitSCMFileSystem.java:329) at au.com.versent.jenkins.plugins.ignoreCommitterStrategy.IgnoreCommitterStrategy.isAutomaticBuild(IgnoreCommitterStrategy.java:100) at jenkins.branch.BranchBuildStrategy.automaticBuild(BranchBuildStrategy.java:260) at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.isAutomaticBuild(MultiBranchProject.java:2251) at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.doAutomaticBuilds(MultiBranchProject.java:2202) at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.observeExisting(MultiBranchProject.java:2028) at jenkins.branch.MultiBranchProject$SCMHeadObserverImpl.observe(MultiBranchProject.java:1988) at jenkins.scm.api.SCMHeadObserver$Wrapped.observe(SCMHeadObserver.java:637) at jenkins.scm.api.SCMHeadEvent$Validated.observe(SCMHeadEvent.java:295) at jenkins.scm.api.trait.SCMSourceRequest.process(SCMSourceRequest.java:357) at jenkins.scm.api.trait.SCMSourceRequest.process(SCMSourceRequest.java:249) at org.jenkinsci.plugins.github_branch_source.GitHubSCMSource.retrieve(GitHubSCMSource.java:1055) at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:373) at jenkins.scm.api.SCMSource.fetch(SCMSource.java:327) at jenkins.branch.MultiBranchProject$SCMEventListenerImpl.processHeadUpdate(MultiBranchProject.java:1587) at jenkins.branch.MultiBranchProject$SCMEventListenerImpl.onSCMHeadEvent(MultiBranchProject.java:1191) at jenkins.scm.api.SCMHeadEvent$DispatcherImpl.fire(SCMHeadEvent.java:246) at jenkins.scm.api.SCMHeadEvent$DispatcherImpl.fire(SCMHeadEvent.java:229) at jenkins.scm.api.SCMEvent$Dispatcher.run(SCMEvent.java:546) at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:69) 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.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) 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) markewaite how did you manage to downgrade? This option is not available for me.  

          Mark Waite added a comment -

          My downgrade testing used a combination of plugin versions that I found worked for me.  I had not detected the null pointer exception in my testing, but now that I look back through the console log, it is clearly visible in my case as well.

          I'll investigate the fix for that null pointer exception and hope to have a new release out before the start of the day Monday.  Thanks for the investigation!  I spent hours this morning assuring that I understood the conditions where the problem was visible based on versions, but completely missed the null pointer exception in the Jenkins log.

          Mark Waite added a comment - My downgrade testing used a combination of plugin versions that I found worked for me.  I had not detected the null pointer exception in my testing, but now that I look back through the console log, it is clearly visible in my case as well. I'll investigate the fix for that null pointer exception and hope to have a new release out before the start of the day Monday.  Thanks for the investigation!  I spent hours this morning assuring that I understood the conditions where the problem was visible based on versions, but completely missed the null pointer exception in the Jenkins log.

          markewaite You are welcome. Sounds great, highly appreciated! 

          Christian Moser added a comment - markewaite You are welcome. Sounds great, highly appreciated! 

            markewaite Mark Waite
            enrice Erich Mauerböck
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: