cfbackend should use the retry decorator

Bug #884345 reported by Scott Severance
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Duplicity
New
Undecided
Unassigned

Bug Description

I'm backing up to Rackspace, and I have quite a large backup set. Often when backing up, some sort of network exception gets raised. Sometimes, it's a connection timeout. Other times it's an SSL error. There are probably others, too, that I don't remember at the moment. Sometimes the error will occur early in the backup process. Other times it'll be near the end.

Of course, all these error conditions are transient, yet DD just reports a Backend exception and gives up. Instead, it should retry a number of times, especially if it has already connected in the current session. Networks are unreliable, and DD doesn't seem to realize this.

I'm currently using Ubuntu 11.10 with deja-dup 20.1-0ubuntu0.1 and duplicity 0.6.15-0ubuntu2. However, this problem has been going on for a long time and a number of versions.

Revision history for this message
Guilherme Salgado (salgado) wrote :

I was having similar problems, but after running with DEJA_DUP_DEBUG=1 I could see on the logs that deja-dup (duplicity, in fact) did retry the upload 5 times (with a 30s sleep between them) before giving up. It'd be nice if there was a way to change that via an environment variable, but in the meantime you could change num_retries in /usr/share/pyshared/duplicity/globals.py

Revision history for this message
sebastien_vigneau (sebastien-vigneau) wrote :

I am having the same problem when backing up on Rackspace Cloud, but not on Amazon S3. So I guess the problem is specific to Rackspace. Was any progress made on that issue?

Revision history for this message
Alan Hayes (alanmodimages) wrote :

I am having the issue with Deja Dup. It gave me the error immediately.

Revision history for this message
Michael Terry (mterry) wrote :

This is because the duplicity rackspace backend doesn't retry operations when they fail. It should use the @retry decorator in its cfbackend.py code. Reassigning to duplicity.

affects: deja-dup → duplicity
summary: - Backend exception when network troubles arise
+ cfbackend should use the retry decorator
Revision history for this message
Kenneth Loafman (kenneth-loafman) wrote :

Retry is done in the outer backend.py, not in the backends themselves.

Please upgrade to the current version of duplicity. This will assure that any bugs fixed since your release are available and should fix your issue.

There are three options:

* Release tarball Install - https://launchpad.net/duplicity/+download
* Daily duplicity builds - https://launchpad.net/~duplicity-team/+archive/ubuntu/daily
* Stable duplicity builds - https://launchpad.net/~duplicity-team/+archive/ubuntu/ppa

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.