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

Branch indexing is ~5x -> 20x slower in v0.4.1 vs v0.3.3

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • Jenkins ver. 2.204.2
      Gerrit Code Review (3.1.2)
      Gerrit Code Review Plugin v0.4.1

      When upgrading from v0.3.3 the branch indexing takes much longer. In our production environment the branch indexing went from ~20 s to ~60 s, on my local test environment (Gerrit & Jenkins running locally on same laptop) the branch indexing goes from ~10 s to ~ 2 min 30 s.

      All installed plugins are of the latest version.

      Only changing the version of the "Gerrit Code Review" plugin between 0.3.3 and 0.4.1 will cause the difference in indexing time (I tried locally several times).

      The project have ~70 open changes and ~35 branches visible to Jenkins. The "checks" plugin is not used or installed on Gerrit.

      When looking into the gerrit httpd log it is clear that version 0.4.1 (see 0.4.1-gerrit-httpd_log) creates a lot more traffic during branch indexing than version 0.3.3 (see 0.3.3-gerrit-httpd_log).

      This can also be seen in "Scan Multibranch Pipeline Log" from Jenkins (I have not attached these logs as they contain sensitive information). In v0.4.1 an extra "git fetch" is performed for each change:

      v0.3.3:

      ...
      No changes detected: 95/2795/5 (still at 37b3f66b4fda4cb5c764d89d997ea7fe9fd9c784)
      Skipping branches refs/notes/review
        Checking change 34/2834/1
            ‘Jenkinsfile’ found
          Met criteria
      ...
      

      v0.4.1:

      ...
       > git rev-parse --is-inside-work-tree # timeout=10
      Setting origin to https://jcdell:8443/a/sw-main
       > git config remote.origin.url https://jcdell:8443/a/sw-main # timeout=10
      Fetching origin...
      Fetching upstream changes from origin
       > git --version # timeout=10
       > git config --get remote.origin.url # timeout=10
      using GIT_ASKPASS to set credentials Jenkins@Gerrit
       > git fetch --tags --progress -- origin refs/changes/95/2795/5:refs/remotes/origin/95/2795/5 # timeout=10
      No changes detected: 95/2795/5 (still at 37b3f66b4fda4cb5c764d89d997ea7fe9fd9c784)
            ‘Jenkinsfile’ found
          Met criteria
      ...
      

       

            lucamilanesio Luca Domenico Milanesio
            accojohannes Johannes Carlsson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: