From a25e606a1eba300330f3330d3136cb2d3938aea7 Mon Sep 17 00:00:00 2001 From: Shubham Minglani Date: Fri, 5 Jun 2026 16:16:46 +0530 Subject: [PATCH] Fix filestore Retrieve() failing when local cache directories are missing Retrieve() downloads files from S3 when the local cache is empty, but os.WriteFile fails if the parent directory doesn't exist (e.g. after a PVC delete and pod restart). Add os.MkdirAll before the write, matching what Store() already does. --- pkg/filestore/filestore.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/filestore/filestore.go b/pkg/filestore/filestore.go index b13249b28..78a7f5f38 100644 --- a/pkg/filestore/filestore.go +++ b/pkg/filestore/filestore.go @@ -215,7 +215,12 @@ func (fs *FileStore) Retrieve(ctx context.Context, path string) ([]byte, error) return nil, err } - // write to local filesystem + // write to local filesystem — create parent directories if they don't exist + if dir := filepath.Dir(localPath); dir != "" { + if err := os.MkdirAll(dir, 0755); err != nil { + return nil, err + } + } err = os.WriteFile(localPath, data, 0644) if err != nil { return nil, err