fix(ilm): queue explicit version heals after corrupt history refusal

Signed-off-by: Feng Ruohang <rh@vonng.com>
This commit is contained in:
Feng Ruohang
2026-11-07 01:10:01 +08:00
parent bdd17b0f47
commit b524fc4fb7
4 changed files with 147 additions and 0 deletions
+7
View File
@@ -435,6 +435,13 @@ func (er erasureObjects) deleteAllDrives(ctx context.Context, bucket, object str
}
var xl xlMetaV2
if err := xl.LoadOrConvert(raws[i].Buf); err != nil {
if errors.Is(err, errFileCorrupt) {
// The purge remains refused. Heal each approved version explicitly,
// including a noncurrent null version, before a later attempt retries.
for id := range ids {
er.addPartial(bucket, object, id)
}
}
return nil, errDeleteAllHistoryUnavailable
}
versions, err := xl.ListVersions(bucket, object, false)