summaryrefslogtreecommitdiff
path: root/src/leap/soledad/client/_db/blobs/sync.py
diff options
context:
space:
mode:
authorVictor Shyba <victor1984@riseup.net>2017-10-27 19:39:25 -0300
committerVictor Shyba <victor1984@riseup.net>2017-10-27 19:49:28 -0300
commit72956174187fa2fccbb060d04d4809797657e029 (patch)
tree658177e6bb96bce4d91b9901d032bda0fae2e195 /src/leap/soledad/client/_db/blobs/sync.py
parentf4ab4e15ba2fd6eb06bcd71e8fe04abc903d4ff0 (diff)
[bug] there is no retry limit for usual transfers
Retry limit was originally specified in #8825 as a protection mechanism, but #8822 (retry) doesn't specify a retry limit. In fact, blobs is supposed to retry until transfer is complete using timed delays between attempts, but never giving up. -- Related: #8822 -- Related: #8825
Diffstat (limited to 'src/leap/soledad/client/_db/blobs/sync.py')
-rw-r--r--src/leap/soledad/client/_db/blobs/sync.py16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/leap/soledad/client/_db/blobs/sync.py b/src/leap/soledad/client/_db/blobs/sync.py
index a1b5cc4c..ee10443d 100644
--- a/src/leap/soledad/client/_db/blobs/sync.py
+++ b/src/leap/soledad/client/_db/blobs/sync.py
@@ -22,7 +22,7 @@ from twisted.internet import reactor
from twisted.logger import Logger
from twisted.internet import error
from .sql import SyncStatus
-from .errors import MaximumRetriesError, RetriableTransferError
+from .errors import RetriableTransferError
logger = Logger()
@@ -90,18 +90,8 @@ class BlobsSynchronizer(object):
logger.info("Sending blob to server (%d/%d): %s"
% (i, total, blob_id))
fd = yield self.local.get(blob_id, namespace=namespace)
- try:
- yield self._encrypt_and_upload(blob_id, fd)
- yield self.local.update_sync_status(blob_id, SyncStatus.SYNCED)
- except Exception as e:
- yield self.local.increment_retries(blob_id)
- res = yield self.local.get_sync_status(blob_id)
- _, retries = res
- if (retries + 1) > self.max_retries:
- failed_upload = SyncStatus.FAILED_UPLOAD
- yield self.local.update_sync_status(blob_id, failed_upload)
- raise MaximumRetriesError(e)
- raise e
+ yield self._encrypt_and_upload(blob_id, fd)
+ yield self.local.update_sync_status(blob_id, SyncStatus.SYNCED)
@defer.inlineCallbacks
def fetch_missing(self, namespace=''):