mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-25 06:06:44 +00:00
eth: polish
This commit is contained in:
parent
a6ba71620a
commit
13bd2b4371
2 changed files with 4 additions and 3 deletions
|
|
@ -283,7 +283,7 @@ func (api *ConsensusAPI) forkchoiceUpdated(update engine.ForkchoiceStateV1, payl
|
||||||
// that should be fixed, not papered over.
|
// that should be fixed, not papered over.
|
||||||
header := api.remoteBlocks.get(update.HeadBlockHash)
|
header := api.remoteBlocks.get(update.HeadBlockHash)
|
||||||
if header == nil {
|
if header == nil {
|
||||||
log.Warn("Forkchoice requested unknown head, trying to retrieve it from a random peer", "hash", update.HeadBlockHash)
|
log.Warn("Forkchoice requested unknown head, trying to retrieve from network", "hash", update.HeadBlockHash)
|
||||||
retrievedHead, err := api.eth.Downloader().GetHeader(update.HeadBlockHash)
|
retrievedHead, err := api.eth.Downloader().GetHeader(update.HeadBlockHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Warn("Could not retrieve unknown head from peers")
|
log.Warn("Could not retrieve unknown head from peers")
|
||||||
|
|
|
||||||
|
|
@ -64,20 +64,21 @@ func (d *Downloader) GetHeader(hash common.Hash) (*types.Header, error) {
|
||||||
// available due to fresh startup
|
// available due to fresh startup
|
||||||
d.peers.lock.RLock()
|
d.peers.lock.RLock()
|
||||||
defer d.peers.lock.RUnlock()
|
defer d.peers.lock.RUnlock()
|
||||||
|
|
||||||
for _, peer := range d.peers.peers {
|
for _, peer := range d.peers.peers {
|
||||||
if peer == nil {
|
if peer == nil {
|
||||||
return nil, errors.New("could not find peer")
|
return nil, errors.New("could not find peer")
|
||||||
}
|
}
|
||||||
// Found a peer, attempt to retrieve the header whilst blocking and
|
// Found a peer, attempt to retrieve the header whilst blocking and
|
||||||
// retry if it fails for whatever reason
|
// retry if it fails for whatever reason
|
||||||
log.Debug("Attempting to retrieve sync target", "peer", peer.id)
|
log.Debug("Attempting to retrieve sync target", "peer", peer.id, "hash", hash)
|
||||||
headers, metas, err := d.fetchHeadersByHash(peer, hash, 1, 0, false)
|
headers, metas, err := d.fetchHeadersByHash(peer, hash, 1, 0, false)
|
||||||
if err != nil || len(headers) != 1 {
|
if err != nil || len(headers) != 1 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// Head header retrieved, if the hash matches, start the actual sync
|
// Head header retrieved, if the hash matches, start the actual sync
|
||||||
if metas[0] != hash {
|
if metas[0] != hash {
|
||||||
log.Warn("Received invalid sync target", "want", hash, "have", metas[0])
|
log.Warn("Received invalid sync target", "peer", peer.id, "want", hash, "have", metas[0])
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
return headers[0], nil
|
return headers[0], nil
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue