fix: healing across pools removing dangling objects (#13990)

adds other simplifications to the code when running
namespace heals across pools.
This commit is contained in:
Harshavardhana
2021-12-25 09:01:44 -08:00
committed by GitHub
parent 7e3a7d7044
commit b883803b21
4 changed files with 307 additions and 112 deletions

View File

@@ -710,6 +710,9 @@ func (h *healSequence) queueHealTask(source healSource, healType madmin.HealItem
select {
case globalBackgroundHealRoutine.tasks <- task:
if serverDebugLog {
logger.Info("Task in the queue: %#v", task)
}
case <-h.ctx.Done():
return nil
}
@@ -885,6 +888,7 @@ func (h *healSequence) healObject(bucket, object, versionID string) error {
bucket: bucket,
object: object,
versionID: versionID,
opts: &h.settings,
}, madmin.HealItemObject)
// Wait and proceed if there are active requests