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

SCM - Cloning multiple git repositories in parallel causes same change multiple times in pipeline job

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • git-plugin
    • None
    • Jenkins 2.32.2

      Build page contain same change list multiple times, when using parallel in pipeline.

      parallel (
          "test1" : {
                checkout([
                          $class: 'GitSCM',
                              branches: [[
                                  name: 'master'
                              ]],
                              doGenerateSubmoduleConfigurations: false,
                              extensions: [[
                                  $class: 'RelativeTargetDirectory',
                                  relativeTargetDir: 'test1'
                              ],[
                                  $class: 'ScmName',
                                  name: 'test1'
                              ]],
                              submoduleCfg: [],
                              userRemoteConfigs: [[
                                  credentialsId: 'test',
                                  url: 'ssh://git@github.com/test1'
                              ]]
                      ])
          },
          "test2" : {
                checkout([
                          $class: 'GitSCM',
                              branches: [[
                                  name: 'master'
                              ]],
                              doGenerateSubmoduleConfigurations: false,
                              extensions: [[
                                  $class: 'RelativeTargetDirectory',
                                  relativeTargetDir: 'test2'
                              ],[
                                  $class: 'ScmName',
                                  name: 'test2'
                              ]],
                              submoduleCfg: [],
                              userRemoteConfigs: [[
                                  credentialsId: 'test',
                                  url: 'ssh://git@github.com/test2'
                              ]]
                      ])
           },
          "test3" : {
                checkout([
                          $class: 'GitSCM',
                              branches: [[
                                  name: 'master'
                              ]],
                              doGenerateSubmoduleConfigurations: false,
                              extensions: [[
                                  $class: 'RelativeTargetDirectory',
                                  relativeTargetDir: 'test3'
                              ],[
                                  $class: 'ScmName',
                                  name: 'test3'
                              ]],
                              submoduleCfg: [],
                              userRemoteConfigs: [[
                                  credentialsId: 'test',
                                  url: 'ssh://git@github.com/test3'
                              ]]
                      ])
           }
       )
      

          [JENKINS-41830] SCM - Cloning multiple git repositories in parallel causes same change multiple times in pipeline job

          mishal shah created issue -
          mishal shah made changes -
          Description Original: Build page contain same change list multiple times, when using parallel in pipeline.

          {code:java}
          ```
          parallel (
              "test1" : {
                    checkout([
                              $class: 'GitSCM',
                                  branches: [[
                                      name: 'master'
                                  ]],
                                  doGenerateSubmoduleConfigurations: false,
                                  extensions: [[
                                      $class: 'RelativeTargetDirectory',
                                      relativeTargetDir: 'test1'
                                  ],[
                                      $class: 'ScmName',
                                      name: 'test1'
                                  ]],
                                  submoduleCfg: [],
                                  userRemoteConfigs: [[
                                      credentialsId: 'test',
                                      url: 'ssh://git@github.com/test1'
                                  ]]
                          ])
              },
              "test2" : {
                    checkout([
                              $class: 'GitSCM',
                                  branches: [[
                                      name: 'master'
                                  ]],
                                  doGenerateSubmoduleConfigurations: false,
                                  extensions: [[
                                      $class: 'RelativeTargetDirectory',
                                      relativeTargetDir: 'test2'
                                  ],[
                                      $class: 'ScmName',
                                      name: 'test2'
                                  ]],
                                  submoduleCfg: [],
                                  userRemoteConfigs: [[
                                      credentialsId: 'test',
                                      url: 'ssh://git@github.com/test2'
                                  ]]
                          ])
               },
              "test3" : {
                    checkout([
                              $class: 'GitSCM',
                                  branches: [[
                                      name: 'master'
                                  ]],
                                  doGenerateSubmoduleConfigurations: false,
                                  extensions: [[
                                      $class: 'RelativeTargetDirectory',
                                      relativeTargetDir: 'test3'
                                  ],[
                                      $class: 'ScmName',
                                      name: 'test3'
                                  ]],
                                  submoduleCfg: [],
                                  userRemoteConfigs: [[
                                      credentialsId: 'test',
                                      url: 'ssh://git@github.com/test3'
                                  ]]
                          ])
               }
           )
          {code}
          New: Build page contain same change list multiple times, when using parallel in pipeline.

          {code:java}
          parallel (
              "test1" : {
                    checkout([
                              $class: 'GitSCM',
                                  branches: [[
                                      name: 'master'
                                  ]],
                                  doGenerateSubmoduleConfigurations: false,
                                  extensions: [[
                                      $class: 'RelativeTargetDirectory',
                                      relativeTargetDir: 'test1'
                                  ],[
                                      $class: 'ScmName',
                                      name: 'test1'
                                  ]],
                                  submoduleCfg: [],
                                  userRemoteConfigs: [[
                                      credentialsId: 'test',
                                      url: 'ssh://git@github.com/test1'
                                  ]]
                          ])
              },
              "test2" : {
                    checkout([
                              $class: 'GitSCM',
                                  branches: [[
                                      name: 'master'
                                  ]],
                                  doGenerateSubmoduleConfigurations: false,
                                  extensions: [[
                                      $class: 'RelativeTargetDirectory',
                                      relativeTargetDir: 'test2'
                                  ],[
                                      $class: 'ScmName',
                                      name: 'test2'
                                  ]],
                                  submoduleCfg: [],
                                  userRemoteConfigs: [[
                                      credentialsId: 'test',
                                      url: 'ssh://git@github.com/test2'
                                  ]]
                          ])
               },
              "test3" : {
                    checkout([
                              $class: 'GitSCM',
                                  branches: [[
                                      name: 'master'
                                  ]],
                                  doGenerateSubmoduleConfigurations: false,
                                  extensions: [[
                                      $class: 'RelativeTargetDirectory',
                                      relativeTargetDir: 'test3'
                                  ],[
                                      $class: 'ScmName',
                                      name: 'test3'
                                  ]],
                                  submoduleCfg: [],
                                  userRemoteConfigs: [[
                                      credentialsId: 'test',
                                      url: 'ssh://git@github.com/test3'
                                  ]]
                          ])
               }
           )
          {code}
          mishal shah made changes -
          Attachment New: Screen Shot 2017-02-09 at 5.06.22 PM.png [ 35868 ]

          shahmishal I don't think this bug is git-changelog-plugin related, this plugin is needed for other special things and does not checkout/clone any git repositories. This might be git-plugin related, I assume.

          Why do you think it is git-changelog-plugin related? Which version of the git-changelog-plugin do you have installed?

          Paul Wellner Bou added a comment - shahmishal I don't think this bug is git-changelog-plugin related, this plugin is needed for other special things and does not checkout/clone any git repositories. This might be git-plugin related, I assume. Why do you think it is git-changelog-plugin related? Which version of the git-changelog-plugin do you have installed?
          mishal shah made changes -
          Component/s New: git-plugin [ 15543 ]

          mishal shah added a comment -

          paulwellnerbou I was not sure which component this should be assigned to, I will move it to git-plugin. Thanks!

          mishal shah added a comment - paulwellnerbou I was not sure which component this should be assigned to, I will move it to git-plugin. Thanks!
          mishal shah made changes -
          Component/s Original: git-changelog-plugin [ 20855 ]

          Ralph A added a comment -

          Does anyone know of any good workaround for this?? I'm currently experiencing the same issue on my pipeline projects. In addition, I think it's also causing my rules/"additional behaviour" to be ignored: "Polling ignores commits from certain users"/"Polling ignores commits with certain messages".

          These all started to fail around the same time and they're all from Git Plugin so I suspect that they're all related.

          Ralph A added a comment - Does anyone know of any good workaround for this?? I'm currently experiencing the same issue on my pipeline projects. In addition, I think it's also causing my rules/"additional behaviour" to be ignored: "Polling ignores commits from certain users"/"Polling ignores commits with certain messages". These all started to fail around the same time and they're all from Git Plugin so I suspect that they're all related.
          Stephen Connolly made changes -
          Link New: This issue relates to JENKINS-35475 [ JENKINS-35475 ]
          Stephen Connolly made changes -
          Resolution New: Duplicate [ 3 ]
          Status Original: Open [ 1 ] New: Closed [ 6 ]

            Unassigned Unassigned
            shahmishal mishal shah
            Votes:
            5 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: