Revert "eth/downloader: drop beacon head updates if the syncer is restarting (#27397)"

This reverts commit 0968b3d498.
This commit is contained in:
devopsbo3 2023-11-10 12:27:53 -06:00 committed by GitHub
parent cbd9ba5c6f
commit 5422e21986

View file

@ -367,13 +367,6 @@ func (s *skeleton) sync(head *types.Header) (*types.Header, error) {
s.filler.resume() s.filler.resume()
} }
defer func() { defer func() {
// The filler needs to be suspended, but since it can block for a while
// when there are many blocks queued up for full-sync importing, run it
// on a separate goroutine and consume head messages that need instant
// replies.
done := make(chan struct{})
go func() {
defer close(done)
if filled := s.filler.suspend(); filled != nil { if filled := s.filler.suspend(); filled != nil {
// If something was filled, try to delete stale sync helpers. If // If something was filled, try to delete stale sync helpers. If
// unsuccessful, warn the user, but not much else we can do (it's // unsuccessful, warn the user, but not much else we can do (it's
@ -384,17 +377,6 @@ func (s *skeleton) sync(head *types.Header) (*types.Header, error) {
} }
} }
}() }()
// Wait for the suspend to finish, consuming head events in the meantime
// and dropping them on the floor.
for {
select {
case <-done:
return
case event := <-s.headEvents:
event.errc <- errors.New("beacon syncer reorging")
}
}
}()
// Create a set of unique channels for this sync cycle. We need these to be // Create a set of unique channels for this sync cycle. We need these to be
// ephemeral so a data race doesn't accidentally deliver something stale on // ephemeral so a data race doesn't accidentally deliver something stale on
// a persistent channel across syncs (yup, this happened) // a persistent channel across syncs (yup, this happened)