forked from cerc-io/plugeth
eth/downloader: fix nil droppeer in state sync
This commit is contained in:
parent
72b21db2d3
commit
1612267a4b
@ -310,8 +310,14 @@ func (s *stateSync) loop() (err error) {
|
|||||||
// 2 items are the minimum requested, if even that times out, we've no use of
|
// 2 items are the minimum requested, if even that times out, we've no use of
|
||||||
// this peer at the moment.
|
// this peer at the moment.
|
||||||
log.Warn("Stalling state sync, dropping peer", "peer", req.peer.id)
|
log.Warn("Stalling state sync, dropping peer", "peer", req.peer.id)
|
||||||
|
if s.d.dropPeer == nil {
|
||||||
|
// The dropPeer method is nil when `--copydb` is used for a local copy.
|
||||||
|
// Timeouts can occur if e.g. compaction hits at the wrong time, and can be ignored
|
||||||
|
req.peer.log.Warn("Downloader wants to drop peer, but peerdrop-function is not set", "peer", req.peer.id)
|
||||||
|
} else {
|
||||||
s.d.dropPeer(req.peer.id)
|
s.d.dropPeer(req.peer.id)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// Process all the received blobs and check for stale delivery
|
// Process all the received blobs and check for stale delivery
|
||||||
delivered, err := s.process(req)
|
delivered, err := s.process(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user