aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-10-12 00:38:32 -0700
committerchrislu <chris.lu@gmail.com>2022-10-12 00:38:32 -0700
commite55076c46f4d4f4b08d940ac0a972f445776e029 (patch)
tree33933d706fcea940e6f027126c0fc67540ed9bbd
parentcea73ac00818c08db807bf0121188f2ac926dc0f (diff)
downloadseaweedfs-e55076c46f4d4f4b08d940ac0a972f445776e029.tar.xz
seaweedfs-e55076c46f4d4f4b08d940ac0a972f445776e029.zip
cloud tier: add retry when copying data file
fix https://github.com/seaweedfs/seaweedfs/issues/3828
-rw-r--r--weed/storage/backend/s3_backend/s3_backend.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/storage/backend/s3_backend/s3_backend.go b/weed/storage/backend/s3_backend/s3_backend.go
index 0b3db3c67..73b33716c 100644
--- a/weed/storage/backend/s3_backend/s3_backend.go
+++ b/weed/storage/backend/s3_backend/s3_backend.go
@@ -2,6 +2,7 @@ package s3_backend
import (
"fmt"
+ "github.com/seaweedfs/seaweedfs/weed/util"
"io"
"os"
"strings"
@@ -91,7 +92,10 @@ func (s *S3BackendStorage) CopyFile(f *os.File, fn func(progressed int64, percen
glog.V(1).Infof("copying dat file of %s to remote s3.%s as %s", f.Name(), s.id, key)
- size, err = uploadToS3(s.conn, f.Name(), s.bucket, key, s.storageClass, fn)
+ util.Retry("upload to S3", func() error {
+ size, err = uploadToS3(s.conn, f.Name(), s.bucket, key, s.storageClass, fn)
+ return err
+ })
return
}