diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2025-11-04 20:26:07 +0500 |
|---|---|---|
| committer | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2025-11-04 20:26:07 +0500 |
| commit | bbd7546cea2c553064e4ed7fa9d1470e0598cdd1 (patch) | |
| tree | 76b75df05d69cb575067aece2c3957e1b7e06d3b | |
| parent | 1abea0d9b5ba7d4a54fdeeed386ec8d519aafccf (diff) | |
| download | seaweedfs-bbd7546cea2c553064e4ed7fa9d1470e0598cdd1.tar.xz seaweedfs-bbd7546cea2c553064e4ed7fa9d1470e0598cdd1.zip | |
test s3 put multipart
| -rw-r--r-- | weed/s3api/filer_multipart.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/s3api/filer_multipart.go b/weed/s3api/filer_multipart.go index 757401669..c9247f2c5 100644 --- a/weed/s3api/filer_multipart.go +++ b/weed/s3api/filer_multipart.go @@ -173,6 +173,7 @@ func (s3a *S3ApiServer) completeMultipartUpload(r *http.Request, input *s3.Compl deleteEntries := []*filer_pb.Entry{} partEntries := make(map[int][]*filer_pb.Entry, len(entries)) entityTooSmall := false + entityWithTtl := false for _, entry := range entries { foundEntry := false glog.V(4).Infof("completeMultipartUpload part entries %s", entry.Name) @@ -212,6 +213,9 @@ func (s3a *S3ApiServer) completeMultipartUpload(r *http.Request, input *s3.Compl foundEntry = true } if foundEntry { + if !entityWithTtl && entry.Attributes != nil && entry.Attributes.TtlSec > 0 { + entityWithTtl = true + } if len(completedPartNumbers) > 1 && partNumber != completedPartNumbers[len(completedPartNumbers)-1] && entry.Attributes.FileSize < multiPartMinSize { glog.Warningf("completeMultipartUpload %s part file size less 5mb", entry.Name) @@ -468,7 +472,7 @@ func (s3a *S3ApiServer) completeMultipartUpload(r *http.Request, input *s3.Compl entry.Attributes.Mime = mime } entry.Attributes.FileSize = uint64(offset) - if s3a.option.AllowDeleteObjectsByTTL { + if s3a.option.AllowDeleteObjectsByTTL && entityWithTtl { entry.Extended[s3_constants.SeaweedFSExpiresS3] = []byte("true") } }) |
