From 7dfc88a4934218b4426a3ea56c7f85964986a1d1 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Wed, 23 Apr 2025 00:06:46 +0200 Subject: [PATCH 1/2] ChunksMixin: don't use self._chunks until it is demand-built --- src/borg/cache.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/borg/cache.py b/src/borg/cache.py index d880179bc..3cbff907c 100644 --- a/src/borg/cache.py +++ b/src/borg/cache.py @@ -899,7 +899,8 @@ class ChunksMixin: def _maybe_write_chunks_cache(self, now, force=False, clear=False): if force or now > self.chunks_cache_last_write + self.chunks_cache_write_td: - write_chunkindex_to_repo_cache(self.repository, self._chunks, clear=clear) + if self._chunks is not None: + write_chunkindex_to_repo_cache(self.repository, self._chunks, clear=clear) self.chunks_cache_last_write = now def refresh_lock(self, now): From 3d92e0812c1b2b48e38f8caf4aff529e117fd10f Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Wed, 23 Apr 2025 00:14:26 +0200 Subject: [PATCH 2/2] AdhocWithFilesCache: fix call to _maybe_write_chunks_cache --- src/borg/cache.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/borg/cache.py b/src/borg/cache.py index 3cbff907c..d82faa225 100644 --- a/src/borg/cache.py +++ b/src/borg/cache.py @@ -1000,7 +1000,8 @@ class AdHocWithFilesCache(FilesCacheMixin, ChunksMixin): logger.debug(f"Chunks index stats: {key}: {value}") pi.output("Saving chunks cache") # note: cache/chunks.* in repo has a different integrity mechanism - self._maybe_write_chunks_cache(self._chunks, force=True, clear=True) + now = datetime.now(timezone.utc) + self._maybe_write_chunks_cache(now, force=True, clear=True) self._chunks = None # nothing there (cleared!) pi.output("Saving cache config") self.cache_config.save(self.manifest)