mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-06-07 17:43:40 +08:00
Unable to upload empty files to seaweed via. multipart when length is unknown (#6729)
This commit is contained in:
parent
6677f1f563
commit
2786bea839
@ -84,11 +84,15 @@ func (s3a *S3ApiServer) completeMultipartUpload(input *s3.CompleteMultipartUploa
|
||||
}
|
||||
completedPartNumbers := []int{}
|
||||
completedPartMap := make(map[int][]string)
|
||||
|
||||
maxPartNo := 1
|
||||
|
||||
for _, part := range parts.Parts {
|
||||
if _, ok := completedPartMap[part.PartNumber]; !ok {
|
||||
completedPartNumbers = append(completedPartNumbers, part.PartNumber)
|
||||
}
|
||||
completedPartMap[part.PartNumber] = append(completedPartMap[part.PartNumber], part.ETag)
|
||||
maxPartNo = max(maxPartNo, part.PartNumber)
|
||||
}
|
||||
sort.Ints(completedPartNumbers)
|
||||
|
||||
@ -156,7 +160,7 @@ func (s3a *S3ApiServer) completeMultipartUpload(input *s3.CompleteMultipartUploa
|
||||
glog.Warningf("invalid complete etag %s, partEtag %s", partETag, entryETag)
|
||||
stats.S3HandlerCounter.WithLabelValues(stats.ErrorCompletedEtagInvalid).Inc()
|
||||
}
|
||||
if len(entry.Chunks) == 0 {
|
||||
if len(entry.Chunks) == 0 && partNumber != maxPartNo {
|
||||
glog.Warningf("completeMultipartUpload %s empty chunks", entry.Name)
|
||||
stats.S3HandlerCounter.WithLabelValues(stats.ErrorCompletedPartEmpty).Inc()
|
||||
continue
|
||||
|
Loading…
Reference in New Issue
Block a user