diff options
| author | Nikita Borzykh <sample@fastmail.com> | 2024-04-04 19:16:16 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-04 09:16:16 -0700 |
| commit | 7aa25c113736f9078b34d169b9bfcd4a677a65c4 (patch) | |
| tree | 5732c744ac9f1b4a1469f91afbcbe37f9274283c | |
| parent | 881c9229720d9556cc8d5cf13ec8d9b7275b5b86 (diff) | |
| download | seaweedfs-7aa25c113736f9078b34d169b9bfcd4a677a65c4.tar.xz seaweedfs-7aa25c113736f9078b34d169b9bfcd4a677a65c4.zip | |
fix: correctly form partNumber from new entry.Name format in "listObjectParts" (#5470)
| -rw-r--r-- | weed/s3api/filer_multipart.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/weed/s3api/filer_multipart.go b/weed/s3api/filer_multipart.go index ac9bffe21..7dd68466e 100644 --- a/weed/s3api/filer_multipart.go +++ b/weed/s3api/filer_multipart.go @@ -374,7 +374,13 @@ func (s3a *S3ApiServer) listObjectParts(input *s3.ListPartsInput) (output *ListP for _, entry := range entries { if strings.HasSuffix(entry.Name, ".part") && !entry.IsDirectory { - partNumberString := entry.Name[:len(entry.Name)-len(".part")] + var partNumberString string + index := strings.Index(entry.Name, "_") + if index != -1 { + partNumberString = entry.Name[:index] + } else { + partNumberString = entry.Name[:len(entry.Name)-len(".part")] + } partNumber, err := strconv.Atoi(partNumberString) if err != nil { glog.Errorf("listObjectParts %s %s parse %s: %v", *input.Bucket, *input.UploadId, entry.Name, err) |
