Merge pull request #4761 from MichaelEischer/fix-cache-race

cache: ignore ErrNotExist during cleanup of old files
This commit is contained in:
Michael Eischer
2024-04-22 21:46:06 +02:00
committed by GitHub
2 changed files with 10 additions and 1 deletions
+2 -1
View File
@@ -165,7 +165,8 @@ func (c *Cache) Clear(t restic.FileType, valid restic.IDSet) error {
continue
}
if err = fs.Remove(c.filename(backend.Handle{Type: t, Name: id.String()})); err != nil {
// ignore ErrNotExist to gracefully handle multiple processes running Clear() concurrently
if err = fs.Remove(c.filename(backend.Handle{Type: t, Name: id.String()})); err != nil && !errors.Is(err, os.ErrNotExist) {
return err
}
}