From 3132db6205c38fa4fe25c4b5d300adaba9e65615 Mon Sep 17 00:00:00 2001 From: Alexander Zavorotynskiy Date: Thu, 28 Apr 2022 17:55:56 +0200 Subject: [PATCH] fix(backend): fixed possible panic in the defer --- backend/services/storage/main.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/backend/services/storage/main.go b/backend/services/storage/main.go index 9579fbe4f..21054a750 100644 --- a/backend/services/storage/main.go +++ b/backend/services/storage/main.go @@ -16,6 +16,8 @@ import ( "openreplay/backend/pkg/storage" ) +const RetryTimeout = 2 * time.Minute + func main() { log.SetFlags(log.LstdFlags | log.LUTC | log.Llongfile) @@ -28,17 +30,18 @@ func main() { if retryCount <= 0 { return } + file, err := os.Open(FS_DIR + "/" + key) - defer file.Close() if err != nil { log.Printf("File error: %v; Will retry %v more time(s)\n", err, retryCount) - time.AfterFunc(2*time.Minute, func() { + time.AfterFunc(RetryTimeout, func() { uploadKey(key, retryCount-1) }) - } else { - if err := storage.Upload(gzipFile(file), key, "application/octet-stream", true); err != nil { - log.Fatalf("Storage upload error: %v\n", err) - } + } + defer file.Close() + + if err := storage.Upload(gzipFile(file), key, "application/octet-stream", true); err != nil { + log.Fatalf("Storage upload error: %v\n", err) } }