From 3a5016bcd766bcaaf487252d0171c86da5439922 Mon Sep 17 00:00:00 2001 From: Lars Lehtonen Date: Thu, 2 Apr 2026 15:32:57 -0700 Subject: [PATCH] fix(weed/worker/tasks/ec_balance): non-recursive reportProgress (#8892) * fix(weed/worker/tasks/ec_balance): non-recursive reportProgress * fix(ec_balance): call ReportProgressWithStage and include volumeID in log The original fix replaced infinite recursion with a glog.Infof, but skipped the framework progress callback. This adds the missing ReportProgressWithStage call so the admin server receives EC balance progress, and includes volumeID in the log for disambiguation. --------- Co-authored-by: Chris Lu --- weed/worker/tasks/ec_balance/ec_balance_task.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/weed/worker/tasks/ec_balance/ec_balance_task.go b/weed/worker/tasks/ec_balance/ec_balance_task.go index c58c34809..2b0729535 100644 --- a/weed/worker/tasks/ec_balance/ec_balance_task.go +++ b/weed/worker/tasks/ec_balance/ec_balance_task.go @@ -212,7 +212,8 @@ func (t *ECBalanceTask) GetProgress() float64 { // reportProgress updates the stored progress and reports it via the callback func (t *ECBalanceTask) reportProgress(progress float64, stage string) { t.progress = progress - t.reportProgress(progress, stage) + t.ReportProgressWithStage(progress, stage) + glog.Infof("EC balance volume %d: [%.2f] %s", t.volumeID, progress, stage) } // isDedupPhase checks if this is a dedup-phase task (source and target are the same node)