Merge pull request #3728 from nspcc-dev/blockfetcher-close

Fix blockfetcher closing
This commit is contained in:
Anna Shaleva 2024-12-06 13:07:19 +03:00 committed by GitHub
commit a68856c27c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -226,9 +226,8 @@ func newServerFromConstructors(config ServerConfig, chain Ledger, stSync StateSy
s.bSyncQueue = bqueue.New(s.stateSync, log, nil, bqueue.DefaultCacheSize, updateBlockQueueLenMetric, bqueue.NonBlocking) s.bSyncQueue = bqueue.New(s.stateSync, log, nil, bqueue.DefaultCacheSize, updateBlockQueueLenMetric, bqueue.NonBlocking)
s.bFetcherQueue = bqueue.New(chain, log, nil, s.NeoFSBlockFetcherCfg.BQueueSize, updateBlockQueueLenMetric, bqueue.Blocking) s.bFetcherQueue = bqueue.New(chain, log, nil, s.NeoFSBlockFetcherCfg.BQueueSize, updateBlockQueueLenMetric, bqueue.Blocking)
var err error var err error
s.blockFetcher, err = blockfetcher.New(chain, s.NeoFSBlockFetcherCfg, log, s.bFetcherQueue.PutBlock, func() { s.blockFetcher, err = blockfetcher.New(chain, s.NeoFSBlockFetcherCfg, log, s.bFetcherQueue.PutBlock,
close(s.blockFetcherFin) sync.OnceFunc(func() { close(s.blockFetcherFin) }))
})
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to create NeoFS BlockFetcher: %w", err) return nil, fmt.Errorf("failed to create NeoFS BlockFetcher: %w", err)
} }
@ -575,6 +574,7 @@ func (s *Server) run() {
s.tryInitStateSync() s.tryInitStateSync()
s.tryStartServices() s.tryStartServices()
} }
s.blockFetcherFin = nil
} }
} }
} }