From e3d183b6a44078f9f414e90d4115661697ada3bd Mon Sep 17 00:00:00 2001 From: jiuker <2818723467@qq.com> Date: Thu, 31 Jul 2025 14:57:23 +0800 Subject: [PATCH] bring more idempotent behavior to AbortMultipartUpload() (#21475) fix #21456 --- cmd/erasure-multipart.go | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/cmd/erasure-multipart.go b/cmd/erasure-multipart.go index 8f806d8ce..38f1391cf 100644 --- a/cmd/erasure-multipart.go +++ b/cmd/erasure-multipart.go @@ -1509,17 +1509,10 @@ func (er erasureObjects) AbortMultipartUpload(ctx context.Context, bucket, objec auditObjectErasureSet(ctx, "AbortMultipartUpload", object, &er) } - // Validates if upload ID exists. - if _, _, err = er.checkUploadIDExists(ctx, bucket, object, uploadID, false); err != nil { - if errors.Is(err, errVolumeNotFound) { - return toObjectErr(err, bucket) - } - return toObjectErr(err, bucket, object, uploadID) - } - // Cleanup all uploaded parts. - er.deleteAll(ctx, minioMetaMultipartBucket, er.getUploadIDDir(bucket, object, uploadID)) + defer er.deleteAll(ctx, minioMetaMultipartBucket, er.getUploadIDDir(bucket, object, uploadID)) - // Successfully purged. - return nil + // Validates if upload ID exists. + _, _, err = er.checkUploadIDExists(ctx, bucket, object, uploadID, false) + return toObjectErr(err, bucket, object, uploadID) }