aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-08-26 08:48:58 -0700
committerChris Lu <chris.lu@gmail.com>2020-08-26 08:50:24 -0700
commit83012f543af34e101a531933ffd2e9d7b35d4bcd (patch)
tree68f628e1ce5b4ccb7e834292cd11b56b531a588b
parentfdb59d596844f6db8364b1f0016911f87d36a926 (diff)
downloadseaweedfs-83012f543af34e101a531933ffd2e9d7b35d4bcd.tar.xz
seaweedfs-83012f543af34e101a531933ffd2e9d7b35d4bcd.zip
s: avoid possible completeMultipartUpload re-tries that can overwrite the uploaded file
-rw-r--r--weed/s3api/filer_multipart.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/weed/s3api/filer_multipart.go b/weed/s3api/filer_multipart.go
index 24bbafe1d..a67a86454 100644
--- a/weed/s3api/filer_multipart.go
+++ b/weed/s3api/filer_multipart.go
@@ -57,8 +57,8 @@ func (s3a *S3ApiServer) completeMultipartUpload(input *s3.CompleteMultipartUploa
uploadDirectory := s3a.genUploadsFolder(*input.Bucket) + "/" + *input.UploadId
entries, err := s3a.list(uploadDirectory, "", "", false, 0)
- if err != nil {
- glog.Errorf("completeMultipartUpload %s %s error: %v", *input.Bucket, *input.UploadId, err)
+ if err != nil || len(entries) == 0 {
+ glog.Errorf("completeMultipartUpload %s %s error: %v, entries:%d", *input.Bucket, *input.UploadId, err, len(entries))
return nil, ErrNoSuchUpload
}