Merge pull request #21429 from holiman/timerfix

eth/downloader: set deliverytime on drops and timeouts too
This commit is contained in:
Péter Szilágyi 2020-08-07 16:36:33 +03:00 committed by GitHub
commit 06125bff89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -164,6 +164,7 @@ func (d *Downloader) runStateSync(s *stateSync) *stateSync {
// Finalize the request and queue up for processing // Finalize the request and queue up for processing
req.timer.Stop() req.timer.Stop()
req.dropped = true req.dropped = true
req.delivered = time.Now()
finished = append(finished, req) finished = append(finished, req)
delete(active, p.id) delete(active, p.id)
@ -176,6 +177,7 @@ func (d *Downloader) runStateSync(s *stateSync) *stateSync {
if active[req.peer.id] != req { if active[req.peer.id] != req {
continue continue
} }
req.delivered = time.Now()
// Move the timed out data back into the download queue // Move the timed out data back into the download queue
finished = append(finished, req) finished = append(finished, req)
delete(active, req.peer.id) delete(active, req.peer.id)
@ -193,6 +195,7 @@ func (d *Downloader) runStateSync(s *stateSync) *stateSync {
// Move the previous request to the finished set // Move the previous request to the finished set
old.timer.Stop() old.timer.Stop()
old.dropped = true old.dropped = true
old.delivered = time.Now()
finished = append(finished, old) finished = append(finished, old)
} }
// Start a timer to notify the sync loop if the peer stalled. // Start a timer to notify the sync loop if the peer stalled.