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

Mercurial multibranch pipeline deletes all branches when repository is down

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • mercurial-plugin
    • None
    • Jenkins ver. 2.101

      A multibranch job that pulls from mercurial deletes all branches when that repository goes down. This was discovered during Bitbucket's outage going on today, and I lost all the branch build history.

      Steps to reproduce:

      1. Create a local mercurial repo with below basic Jenkinsfile and publish using hg serve
      2. Start vanilla weekly docker image
      3. Install multibranch, mercurial
      4. Create multibranch job pointing at that repo, let it scan and build default branch
      5. Kill hg serve
      6. Run "Scan Multibranch Pipeline Now", all branches get deleted

      Basic jenkinsfile

      pipeline {
          agent any
      	stages {
      		stage("Build Data") {
      			steps {
      				sh 'echo yay'
      			}
      		}
          }
      }
      

      Logs

      [Tue Jan 09 17:19:31 UTC 2018] Starting branch indexing...
      Acquired master cache lock.
      [D69ADC747155FE53F1452F758ACEC24C520106F9-lblakey-ws1] $ hg pull
      pulling from http://myWorkstation:8000/
      abort: error: Connection refused
      ERROR: Failed to update /var/jenkins_home/hgcache/D69ADC747155FE53F1452F758ACEC24C520106F9-myWorkstation
      Master cache lock released.
      ERROR: Could not use caches, not fetching branch heads
      [Tue Jan 09 17:19:31 UTC 2018] Finished branch indexing. Indexing took 66 ms
      Evaluating orphaned items in test
      Will remove default
      Finished: SUCCESS
      

            jglick Jesse Glick
            thelq Leon Blakey
            Votes:
            5 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: