From 0839ac3034a470e37a899a96d99e57276d73deeb Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 8 Sep 2020 21:00:27 +0200 Subject: [PATCH] prettier error message when archive gets too big, fixes #5307 --- src/borg/archive.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/borg/archive.py b/src/borg/archive.py index 38649814e..d89f628a4 100644 --- a/src/borg/archive.py +++ b/src/borg/archive.py @@ -576,7 +576,15 @@ Utilization of max. archive size: {csize_max:.0%} metadata = ArchiveItem(metadata) data = self.key.pack_and_authenticate_metadata(metadata.as_dict(), context=b'archive') self.id = self.key.id_hash(data) - self.cache.add_chunk(self.id, data, self.stats) + try: + self.cache.add_chunk(self.id, data, self.stats) + except IntegrityError as err: + err_msg = str(err) + # hack to avoid changing the RPC protocol by introducing new (more specific) exception class + if 'More than allowed put data' in err_msg: + raise Error('%s - archive too big (issue #1473)!' % err_msg) + else: + raise while self.repository.async_response(wait=True) is not None: pass self.manifest.archives[name] = (self.id, metadata.time)