diff --git a/eth/fetcher/fetcher.go b/eth/fetcher/fetcher.go index 98cc1a76b6..3a83a4936d 100644 --- a/eth/fetcher/fetcher.go +++ b/eth/fetcher/fetcher.go @@ -338,9 +338,15 @@ func (f *Fetcher) loop() { if _, ok := f.fetching[notification.hash]; ok { break } + if _, ok := f.fetched[notification.hash]; ok { + break + } if _, ok := f.completing[notification.hash]; ok { break } + if _, ok := f.queued[notification.hash]; ok { + break + } f.announces[notification.origin] = count f.announced[notification.hash] = append(f.announced[notification.hash], notification) if f.announceChangeHook != nil && len(f.announced[notification.hash]) == 1 {