diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go index e3874a520..9f157a92b 100644 --- a/eth/downloader/downloader.go +++ b/eth/downloader/downloader.go @@ -397,11 +397,7 @@ func (d *Downloader) synchronise(id string, hash common.Hash, td *big.Int, mode return errUnknownPeer } if d.mode == BoundedFullSync { - err := d.syncWithPeerUntil(p, hash, td) - if err == nil { - d.processFullSyncContent() - } - return err + return d.syncWithPeerUntil(p, hash, td) } return d.syncWithPeer(p, hash, td) } @@ -1697,6 +1693,7 @@ func (d *Downloader) syncWithPeerUntil(p *peerConnection, hash common.Hash, td * func() error { return d.fetchBodies(localHeight + 1) }, func() error { return d.fetchReceipts(localHeight + 1) }, // Receipts are only retrieved during fast sync func() error { return d.processHeaders(localHeight+1, pivot, td) }, + d.processFullSyncContent, //This must be added to clear the buffer of downloaded content as it's being filled } return d.spawnSync(fetchers) }