mirror of
https://github.com/minio/minio.git
synced 2025-03-31 01:33:41 -04:00
retry each object decom upto 3 times, in-case of failure (#14861)
This commit is contained in:
parent
83071a3459
commit
e34ca9acd1
@ -687,27 +687,30 @@ func (z *erasureServerPools) decommissionPool(ctx context.Context, idx int, pool
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
gr, err := set.GetObjectNInfo(ctx,
|
|
||||||
bName,
|
|
||||||
encodeDirObject(version.Name),
|
|
||||||
nil,
|
|
||||||
http.Header{},
|
|
||||||
noLock, // all mutations are blocked reads are safe without locks.
|
|
||||||
ObjectOptions{
|
|
||||||
VersionID: version.VersionID,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
logger.LogIf(ctx, err)
|
|
||||||
z.poolMetaMutex.Lock()
|
|
||||||
z.poolMeta.CountItem(idx, version.Size, true)
|
|
||||||
z.poolMetaMutex.Unlock()
|
|
||||||
break // break out on first error
|
|
||||||
}
|
|
||||||
var failure bool
|
var failure bool
|
||||||
// gr.Close() is ensured by decommissionObject().
|
// gr.Close() is ensured by decommissionObject().
|
||||||
if err = z.decommissionObject(ctx, bName, gr); err != nil {
|
for try := 0; try < 3; try++ {
|
||||||
logger.LogIf(ctx, err)
|
gr, err := set.GetObjectNInfo(ctx,
|
||||||
failure = true
|
bName,
|
||||||
|
encodeDirObject(version.Name),
|
||||||
|
nil,
|
||||||
|
http.Header{},
|
||||||
|
noLock, // all mutations are blocked reads are safe without locks.
|
||||||
|
ObjectOptions{
|
||||||
|
VersionID: version.VersionID,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
failure = true
|
||||||
|
logger.LogIf(ctx, err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if err = z.decommissionObject(ctx, bName, gr); err != nil {
|
||||||
|
failure = true
|
||||||
|
logger.LogIf(ctx, err)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
failure = false
|
||||||
|
break
|
||||||
}
|
}
|
||||||
z.poolMetaMutex.Lock()
|
z.poolMetaMutex.Lock()
|
||||||
z.poolMeta.CountItem(idx, version.Size, failure)
|
z.poolMeta.CountItem(idx, version.Size, failure)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user