mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-06-28 15:41:13 +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{}
|
completedPartNumbers := []int{}
|
||||||
completedPartMap := make(map[int][]string)
|
completedPartMap := make(map[int][]string)
|
||||||
|
|
||||||
|
maxPartNo := 1
|
||||||
|
|
||||||
for _, part := range parts.Parts {
|
for _, part := range parts.Parts {
|
||||||
if _, ok := completedPartMap[part.PartNumber]; !ok {
|
if _, ok := completedPartMap[part.PartNumber]; !ok {
|
||||||
completedPartNumbers = append(completedPartNumbers, part.PartNumber)
|
completedPartNumbers = append(completedPartNumbers, part.PartNumber)
|
||||||
}
|
}
|
||||||
completedPartMap[part.PartNumber] = append(completedPartMap[part.PartNumber], part.ETag)
|
completedPartMap[part.PartNumber] = append(completedPartMap[part.PartNumber], part.ETag)
|
||||||
|
maxPartNo = max(maxPartNo, part.PartNumber)
|
||||||
}
|
}
|
||||||
sort.Ints(completedPartNumbers)
|
sort.Ints(completedPartNumbers)
|
||||||
|
|
||||||
@ -156,7 +160,7 @@ func (s3a *S3ApiServer) completeMultipartUpload(input *s3.CompleteMultipartUploa
|
|||||||
glog.Warningf("invalid complete etag %s, partEtag %s", partETag, entryETag)
|
glog.Warningf("invalid complete etag %s, partEtag %s", partETag, entryETag)
|
||||||
stats.S3HandlerCounter.WithLabelValues(stats.ErrorCompletedEtagInvalid).Inc()
|
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)
|
glog.Warningf("completeMultipartUpload %s empty chunks", entry.Name)
|
||||||
stats.S3HandlerCounter.WithLabelValues(stats.ErrorCompletedPartEmpty).Inc()
|
stats.S3HandlerCounter.WithLabelValues(stats.ErrorCompletedPartEmpty).Inc()
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user