diff --git a/borg/remote.py b/borg/remote.py index 6848784f1..5662a8dbc 100644 --- a/borg/remote.py +++ b/borg/remote.py @@ -414,6 +414,9 @@ class RepositoryCache(RepositoryNoCache): Caches Repository GET operations using a local temporary Repository. """ + # maximum object size that will be cached, 64 kiB. + THRESHOLD = 2**16 + def __init__(self, repository): super().__init__(repository) tmppath = tempfile.mkdtemp(prefix='borg-tmp') @@ -434,7 +437,8 @@ class RepositoryCache(RepositoryNoCache): except Repository.ObjectNotFound: for key_, data in repository_iterator: if key_ == key: - self.caching_repo.put(key, data) + if len(data) <= self.THRESHOLD: + self.caching_repo.put(key, data) yield data break # Consume any pending requests