mirror of https://github.com/minio/minio.git
Allow rebalance start when it's stopped/completed (#20009)
This commit is contained in:
parent
722118386d
commit
154fcaeb56
|
@ -374,6 +374,7 @@ func (a adminAPIHandlers) RebalanceStop(w http.ResponseWriter, r *http.Request)
|
||||||
globalNotificationSys.StopRebalance(r.Context())
|
globalNotificationSys.StopRebalance(r.Context())
|
||||||
writeSuccessResponseHeadersOnly(w)
|
writeSuccessResponseHeadersOnly(w)
|
||||||
adminLogIf(ctx, pools.saveRebalanceStats(GlobalContext, 0, rebalSaveStoppedAt))
|
adminLogIf(ctx, pools.saveRebalanceStats(GlobalContext, 0, rebalSaveStoppedAt))
|
||||||
|
globalNotificationSys.LoadRebalanceMeta(ctx, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
func proxyDecommissionRequest(ctx context.Context, defaultEndPoint Endpoint, w http.ResponseWriter, r *http.Request) (proxy bool) {
|
func proxyDecommissionRequest(ctx context.Context, defaultEndPoint Endpoint, w http.ResponseWriter, r *http.Request) (proxy bool) {
|
||||||
|
|
|
@ -350,8 +350,15 @@ func (z *erasureServerPools) IsRebalanceStarted() bool {
|
||||||
z.rebalMu.RLock()
|
z.rebalMu.RLock()
|
||||||
defer z.rebalMu.RUnlock()
|
defer z.rebalMu.RUnlock()
|
||||||
|
|
||||||
if r := z.rebalMeta; r != nil {
|
r := z.rebalMeta
|
||||||
if r.StoppedAt.IsZero() {
|
if r == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if !r.StoppedAt.IsZero() {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
for _, ps := range r.PoolStats {
|
||||||
|
if ps.Participating && ps.Info.Status != rebalCompleted {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue