From cb5785e2cd0a45ac1f29e1544c86fb79775cba18 Mon Sep 17 00:00:00 2001 From: sbackend Date: Sun, 26 Apr 2026 20:41:28 +0200 Subject: [PATCH] fix: read exactly M values from channel --- pkg/file/redundancy/getter/getter.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/file/redundancy/getter/getter.go b/pkg/file/redundancy/getter/getter.go index 8244142ad9b..f027cdf6a65 100644 --- a/pkg/file/redundancy/getter/getter.go +++ b/pkg/file/redundancy/getter/getter.go @@ -248,7 +248,8 @@ func (g *decoder) runStrategy(s Strategy) error { }(i) } - for range c { + for range len(m) { + <-c if g.fetchedCnt.Load() >= int32(g.shardCnt) { return nil } @@ -257,7 +258,7 @@ func (g *decoder) runStrategy(s Strategy) error { } } - return nil + return errStrategyFailed } // recover wraps the stages of data shard recovery: