From 72956174187fa2fccbb060d04d4809797657e029 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Fri, 27 Oct 2017 19:39:25 -0300 Subject: [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 --- src/leap/soledad/client/_db/blobs/sync.py | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) (limited to 'src/leap/soledad/client/_db/blobs/sync.py') 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=''): -- cgit v1.2.3