From 0ee9360f3e7b129f15d6c7eaee0aff7ad9688531 Mon Sep 17 00:00:00 2001 From: Michael Eischer Date: Sat, 29 Nov 2025 23:09:04 +0100 Subject: [PATCH] restore: reduce contention while writing files --- internal/restorer/filerestorer.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/internal/restorer/filerestorer.go b/internal/restorer/filerestorer.go index 166bf1ff8..7b941de31 100644 --- a/internal/restorer/filerestorer.go +++ b/internal/restorer/filerestorer.go @@ -79,10 +79,12 @@ func newFileRestorer(dst string, workerCount := int(connections) return &fileRestorer{ - idx: idx, - blobsLoader: blobsLoader, - startWarmup: startWarmup, - filesWriter: newFilesWriter(workerCount, allowRecursiveDelete), + idx: idx, + blobsLoader: blobsLoader, + startWarmup: startWarmup, + // use a large number of buckets to minimize bucket contention in filesWriter + // buckets are relatively cheap, so we can afford to have a lot of them + filesWriter: newFilesWriter(1024, allowRecursiveDelete), zeroChunk: repository.ZeroChunk(), sparse: sparse, progress: progress,