[Bug 1266763] Re: Race condition between status and backup

Louis Bouchard louis.bouchard at canonical.com
Wed Feb 19 09:17:07 UTC 2014


To potential sponsor:

I am preparing a slight modification (add Breaks: statement). debdiff
should be there shortly

** Patch removed: "lp1266763_s3_locking_trusty.debdiff"
   https://bugs.launchpad.net/duplicity/+bug/1266763/+attachment/3955924/+files/lp1266763_s3_locking_trusty.debdiff

** Patch removed: "lp1266763_s3_locking_saucy.debdiff"
   https://bugs.launchpad.net/duplicity/+bug/1266763/+attachment/3955923/+files/lp1266763_s3_locking_saucy.debdiff

** Patch removed: "lp1266763_s3_locking_raring.debdiff"
   https://bugs.launchpad.net/duplicity/+bug/1266763/+attachment/3955922/+files/lp1266763_s3_locking_raring.debdiff

** Patch removed: "lp1266763_s3_locking_gpg_precise.debdiff"
   https://bugs.launchpad.net/duplicity/+bug/1266763/+attachment/3955921/+files/lp1266763_s3_locking_gpg_precise.debdiff

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1266763

Title:
  Race condition between status and backup

Status in Duplicity - Bandwidth Efficient Encrypted Backup:
  Fix Released
Status in “duplicity” package in Ubuntu:
  In Progress
Status in “duplicity” source package in Precise:
  In Progress
Status in “duplicity” source package in Quantal:
  In Progress
Status in “duplicity” source package in Raring:
  In Progress
Status in “duplicity” source package in Saucy:
  In Progress
Status in “duplicity” source package in Trusty:
  In Progress

Bug description:
  SRU justification : Race condition exist when two instances of duplicity run in the same
  cache directory (.cache/duplicity)

  Impact : Potential corruption of the local cache

  Fix : Add a lockfile in the local cache & prevent execution of a second instance in the
  case of the presence of the lockfile

  Test Case :
  1) Run one instance of duplicity :
   $ sudo mkdir /tmp/backup
   $ sudo duplicity --exclude=/proc --exclude=/sys --exclude=/tmp / file:///tmp/backup

  While this command is running execute the following in a separate console :
   $ sudo duplicity collection-status file:///tmp/backup

  With the new locking mechanism you will see the following :
  $ sudo duplicity collection-status file:///tmp/backup
  Another instance is already running with this archive directory
  If you are sure that this is the  only instance running you may delete
  the following lockfile and run the command again :
     /home/ubuntu/.cache/duplicity/3fe07cc0f71075f95f411fb55ec60120/lockfile.lock

  Regression : In the case of spurrious interruption of duplicity, the lockfile
  will remain in .cache/duplicity which can prevent future use of duplicity. The cache
  directory will have to be cleaned as outlined in the error message

  Original description of the problem :

  When runnining "duply X status" while running "duply X backup" (sorry,
  I don't know which duplicity commands are created by duply) due to a
  race-condition the code of 'sync_archive' might happend to append
  newly created meta-data files to 'local_spurious' and subsequently
  delete them. This delete seems to have been the reason that triggered
  bug 1216921.

  The race condition is that the backup command constantly creates meta-
  data files while the status command queries the list of local and
  remote files independently over a larger time span. This means that a
  local file might already been remote but the status command did not
  see it a few seconds ago.

To manage notifications about this bug go to:
https://bugs.launchpad.net/duplicity/+bug/1266763/+subscriptions



More information about the Ubuntu-sponsors mailing list