fix: avoid waiting on rebalance metadata (#20392)

rebalance metadata is good to have only,
if it cannot be loaded when starting MinIO
for some reason we can possibly ignore it
and move on and let user start rebalance
again if needed.
This commit is contained in:
Harshavardhana
2024-09-06 06:20:19 -07:00
committed by GitHub
parent a0f9e9f661
commit 64e803b136
2 changed files with 11 additions and 19 deletions

View File

@@ -110,19 +110,14 @@ var errRebalanceNotStarted = errors.New("rebalance not started")
func (z *erasureServerPools) loadRebalanceMeta(ctx context.Context) error {
r := &rebalanceMeta{}
err := r.load(ctx, z.serverPools[0])
if err != nil {
if errors.Is(err, errConfigNotFound) {
return nil
}
return err
if err := r.load(ctx, z.serverPools[0]); err == nil {
z.rebalMu.Lock()
z.rebalMeta = r
z.updateRebalanceStats(ctx)
z.rebalMu.Unlock()
} else if !errors.Is(err, errConfigNotFound) {
rebalanceLogIf(ctx, fmt.Errorf("failed to load rebalance metadata, continue to restart rebalance as needed: %w", err))
}
z.rebalMu.Lock()
z.rebalMeta = r
z.updateRebalanceStats(ctx)
z.rebalMu.Unlock()
return nil
}