Should not exit during restore when timeout ocours

Bug #494677 reported by Tokuko
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Duplicity
Confirmed
Medium
Unassigned

Bug Description

Hi,

humyo.de seems to be a bit buggy sometimes and in some cases seems to timeout.
A restore should not fail just because one timeout occoured, duplicity should just retry the retrieve the file.
The file being restored is severall gigabytes (a VMWare harddisk), so having to restart the restore results in a couple of gigabytes additional download.

Regards,
Tokudan

duplicity 0.6.06
Python 2.6.2
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"
local Filesystem:
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 219G 8.9G 199G 5% /
/dev/sda3 on / type ext3 (rw,relatime)

Traceback:

Traceback (most recent call last):
  File "/usr/local/bin/duplicity", line 1236, in <module>
    with_tempdir(main)
  File "/usr/local/bin/duplicity", line 1229, in with_tempdir
    fn()
  File "/usr/local/bin/duplicity", line 1183, in main
    restore(col_stats)
  File "/usr/local/bin/duplicity", line 538, in restore
    restore_get_patched_rop_iter(col_stats)):
  File "/usr/local/lib/python2.6/dist-packages/duplicity/patchdir.py", line 518, in Write_ROPaths
    for ropath in rop_iter:
  File "/usr/local/lib/python2.6/dist-packages/duplicity/patchdir.py", line 491, in integrate_patch_iters
    final_ropath = patch_seq2ropath(normalize_ps(patch_seq))
  File "/usr/local/lib/python2.6/dist-packages/duplicity/patchdir.py", line 471, in patch_seq2ropath
    misc.copyfileobj(current_file, tempfp)
  File "/usr/local/lib/python2.6/dist-packages/duplicity/misc.py", line 166, in copyfileobj
    buf = infp.read(blocksize)
  File "/usr/local/lib/python2.6/dist-packages/duplicity/patchdir.py", line 198, in read
    if not self.addtobuffer():
  File "/usr/local/lib/python2.6/dist-packages/duplicity/patchdir.py", line 223, in addtobuffer
    self.tarinfo_list[0] = self.tar_iter.next()
  File "/usr/local/lib/python2.6/dist-packages/duplicity/patchdir.py", line 330, in next
    self.set_tarfile()
  File "/usr/local/lib/python2.6/dist-packages/duplicity/patchdir.py", line 319, in set_tarfile
    self.current_fp = self.fileobj_iter.next()
  File "/usr/local/bin/duplicity", line 575, in get_fileobj_iter
    manifest.volume_info_dict[vol_num])
  File "/usr/local/bin/duplicity", line 596, in restore_get_enc_fileobj
    backend.get(filename, tdp)
  File "/usr/local/lib/python2.6/dist-packages/duplicity/backends/webdavbackend.py", line 234, in get
    response = self.request("GET", url)
  File "/usr/local/lib/python2.6/dist-packages/duplicity/backends/webdavbackend.py", line 108, in request
    response = self.conn.getresponse()
  File "/usr/lib/python2.6/httplib.py", line 950, in getresponse
    response.begin()
  File "/usr/lib/python2.6/httplib.py", line 390, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python2.6/httplib.py", line 348, in _read_status
    line = self.fp.readline()
  File "/usr/lib/python2.6/socket.py", line 395, in readline
    data = recv(1)
  File "/usr/lib/python2.6/ssl.py", line 96, in <lambda>
    self.recv = lambda buflen=1024, flags=0: SSLSocket.recv(self, buflen, flags)
  File "/usr/lib/python2.6/ssl.py", line 222, in recv
    raise x
SSLError: The read operation timed out

Changed in duplicity:
status: New → Confirmed
importance: Undecided → Medium
summary: - Should not exist during restore when timeout ocours
+ Should not exit during restore when timeout ocours
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.