mirror of https://github.com/minio/minio.git
cancel active routine only after metadata has been saved (#14757)
currently updated pool.bin was not saved properly, that would lead to unable to remove a pool upon a successful decommission. fixes #14756
This commit is contained in:
parent
e69c42956b
commit
8318aa0113
|
@ -900,7 +900,7 @@ func (z *erasureServerPools) DecommissionCancel(ctx context.Context, idx int) (e
|
||||||
defer z.poolMetaMutex.Unlock()
|
defer z.poolMetaMutex.Unlock()
|
||||||
|
|
||||||
if z.poolMeta.DecommissionCancel(idx) {
|
if z.poolMeta.DecommissionCancel(idx) {
|
||||||
z.decommissionCancelers[idx]() // cancel any active thread.
|
defer z.decommissionCancelers[idx]() // cancel any active thread.
|
||||||
if err = z.poolMeta.save(ctx, z.serverPools); err != nil {
|
if err = z.poolMeta.save(ctx, z.serverPools); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -922,7 +922,7 @@ func (z *erasureServerPools) DecommissionFailed(ctx context.Context, idx int) (e
|
||||||
defer z.poolMetaMutex.Unlock()
|
defer z.poolMetaMutex.Unlock()
|
||||||
|
|
||||||
if z.poolMeta.DecommissionFailed(idx) {
|
if z.poolMeta.DecommissionFailed(idx) {
|
||||||
z.decommissionCancelers[idx]() // cancel any active thread.
|
defer z.decommissionCancelers[idx]() // cancel any active thread.
|
||||||
if err = z.poolMeta.save(ctx, z.serverPools); err != nil {
|
if err = z.poolMeta.save(ctx, z.serverPools); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -944,7 +944,7 @@ func (z *erasureServerPools) CompleteDecommission(ctx context.Context, idx int)
|
||||||
defer z.poolMetaMutex.Unlock()
|
defer z.poolMetaMutex.Unlock()
|
||||||
|
|
||||||
if z.poolMeta.DecommissionComplete(idx) {
|
if z.poolMeta.DecommissionComplete(idx) {
|
||||||
z.decommissionCancelers[idx]() // cancel any active thread.
|
defer z.decommissionCancelers[idx]() // cancel any active thread.
|
||||||
if err = z.poolMeta.save(ctx, z.serverPools); err != nil {
|
if err = z.poolMeta.save(ctx, z.serverPools); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue