mirror of
https://github.com/minio/minio.git
synced 2025-07-08 08:32:18 -04:00
batch-exp: Remove 1000 maximum objects per call (#20212)
It seems ObjectAPI.DeleteObjects() is clogging up when it is removing 10k versions of a single object. Authored-by: Anis Eleuch <anis@min.io>
This commit is contained in:
parent
fb9364f1fb
commit
e3eb5c1328
@ -342,8 +342,24 @@ func (r *BatchJobExpire) Expire(ctx context.Context, api ObjectLayer, vc *versio
|
|||||||
PrefixEnabledFn: vc.PrefixEnabled,
|
PrefixEnabledFn: vc.PrefixEnabled,
|
||||||
VersionSuspended: vc.Suspended(),
|
VersionSuspended: vc.Suspended(),
|
||||||
}
|
}
|
||||||
_, errs := api.DeleteObjects(ctx, r.Bucket, objsToDel, opts)
|
|
||||||
return errs
|
allErrs := make([]error, 0, len(objsToDel))
|
||||||
|
|
||||||
|
for {
|
||||||
|
count := len(objsToDel)
|
||||||
|
if count == 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if count > maxDeleteList {
|
||||||
|
count = maxDeleteList
|
||||||
|
}
|
||||||
|
_, errs := api.DeleteObjects(ctx, r.Bucket, objsToDel[:count], opts)
|
||||||
|
allErrs = append(allErrs, errs...)
|
||||||
|
// Next batch of deletion
|
||||||
|
objsToDel = objsToDel[count:]
|
||||||
|
}
|
||||||
|
|
||||||
|
return allErrs
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user