diff --git a/management/server/peer.go b/management/server/peer.go index 029cb2316..73aaef801 100644 --- a/management/server/peer.go +++ b/management/server/peer.go @@ -1264,7 +1264,6 @@ func (am *DefaultAccountManager) UpdateAccountPeers(ctx context.Context, account } var wg sync.WaitGroup - semaphore := make(chan struct{}, 10) dnsCache := &DNSConfigCache{} dnsDomain := am.GetDNSDomain(account.Settings) @@ -1297,10 +1296,8 @@ func (am *DefaultAccountManager) UpdateAccountPeers(ctx context.Context, account } wg.Add(1) - semaphore <- struct{}{} go func(p *nbpeer.Peer) { defer wg.Done() - defer func() { <-semaphore }() start := time.Now() @@ -1339,8 +1336,6 @@ func (am *DefaultAccountManager) UpdateAccountPeers(ctx context.Context, account }(peer) } - // - wg.Wait() if am.metrics != nil { am.metrics.AccountManagerMetrics().CountUpdateAccountPeersDuration(time.Since(globalStart)) diff --git a/management/server/update_buffer.go b/management/server/update_buffer.go index d31be56b0..6fea53c8e 100644 --- a/management/server/update_buffer.go +++ b/management/server/update_buffer.go @@ -26,13 +26,14 @@ func (b *UpdateBuffer) Push(update *UpdateMessage) { defer b.mu.Unlock() if b.update == nil || update.Update.NetworkMap.Serial > b.update.Update.NetworkMap.Serial || b.update.Update.NetworkMap.Serial == 0 { - b.update = update - b.cond.Signal() if b.update == nil { b.metrics.CountBufferPush() return } + b.update = update + b.cond.Signal() + b.metrics.CountBufferOverwrite() return }