diff --git a/cluster/router/chain/chain.go b/cluster/router/chain/chain.go index b15b845cf11d16f1524e8dd3ed63bd8ada94f713..952aedf92d70d92b3b029a9809826295e1cc7dc5 100644 --- a/cluster/router/chain/chain.go +++ b/cluster/router/chain/chain.go @@ -200,12 +200,12 @@ func (c *RouterChain) buildCache() { if p, ok := r.(router.Poolable); ok { wg.Add(1) go func(p router.Poolable) { + defer wg.Done() pool, info := poolRouter(p, origin, invokers) mutex.Lock() defer mutex.Unlock() cache.pools[p.Name()] = pool cache.metadatas[p.Name()] = info - wg.Done() }(p) } }