good morning!!!!

Skip to content
Snippets Groups Projects
Unverified Commit 85726fdb authored by Péter Szilágyi's avatar Péter Szilágyi
Browse files

eth/downloader: fix header delays during chain dedup

parent 107c67d7
No related branches found
No related tags found
No related merge requests found
......@@ -892,6 +892,7 @@ func (d *Downloader) fetchHeaders(p *peerConnection, from uint64, pivot uint64)
}
}
// Start pulling the header chain skeleton until all is done
ancestor := from
getHeaders(from)
for {
......@@ -962,6 +963,12 @@ func (d *Downloader) fetchHeaders(p *peerConnection, from uint64, pivot uint64)
head = full
}
}
// If the head is below the common ancestor, we're actually deduplicating
// already existing chain segments, so use the ancestor as the fake head.
// Otherwise we might end up delaying header deliveries pointlessly.
if head < ancestor {
head = ancestor
}
// If the head is way older than this batch, delay the last few headers
if head+uint64(reorgProtThreshold) < headers[n-1].Number.Uint64() {
delay := reorgProtHeaderDelay
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment