cleanup existing part.N's before renamePart() (#20466)

this is a safety-net to avoid any unexpected parts to show up.
This commit is contained in:
Harshavardhana
2024-09-24 04:26:41 -07:00
committed by GitHub
parent 0c53d86017
commit f6f0807c86
2 changed files with 15 additions and 34 deletions

View File

@@ -526,6 +526,14 @@ func (er erasureObjects) NewMultipartUpload(ctx context.Context, bucket, object
// renamePart - renames multipart part to its relevant location under uploadID.
func (er erasureObjects) renamePart(ctx context.Context, disks []StorageAPI, srcBucket, srcEntry, dstBucket, dstEntry string, optsMeta []byte, writeQuorum int) ([]StorageAPI, error) {
paths := []string{
dstEntry,
dstEntry + ".meta",
}
// cleanup existing paths first across all drives.
er.cleanupMultipartPath(ctx, paths...)
g := errgroup.WithNErrs(len(disks))
// Rename file on all underlying storage disks.
@@ -542,11 +550,6 @@ func (er erasureObjects) renamePart(ctx context.Context, disks []StorageAPI, src
// Wait for all renames to finish.
errs := g.Wait()
paths := []string{
dstEntry,
dstEntry + ".meta",
}
err := reduceWriteQuorumErrs(ctx, errs, objectOpIgnoredErrs, writeQuorum)
if err != nil {
er.cleanupMultipartPath(ctx, paths...)