aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Borzykh <sample@fastmail.com>2024-04-04 19:16:16 +0300
committerGitHub <noreply@github.com>2024-04-04 09:16:16 -0700
commit7aa25c113736f9078b34d169b9bfcd4a677a65c4 (patch)
tree5732c744ac9f1b4a1469f91afbcbe37f9274283c
parent881c9229720d9556cc8d5cf13ec8d9b7275b5b86 (diff)
downloadseaweedfs-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.go8
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)