Skip to content

Commit 254ffcc

Browse files
committed
fix(blockexchange): handle evicted peer in download retry loop
Part of #974 Signed-off-by: Chrysostomos Nanakos <[email protected]>
1 parent fbb695f commit 254ffcc

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

codex/blockexchange/engine/engine.nim

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,11 @@ proc downloadInternal(
375375
let peerId = self.pendingBlocks.getRequestPeer(address).get()
376376
self.peers.get(peerId)
377377

378-
assert not scheduledPeer.isNil
378+
# Handle case where scheduled peer was evicted/disconnected
379+
if scheduledPeer.isNil:
380+
trace "Scheduled peer no longer available, clearing stale request", address
381+
self.pendingBlocks.clearRequest(address)
382+
continue
379383

380384
# Parks until either the block is received, or the peer times out.
381385
let activityTimer = scheduledPeer.activityTimer()

0 commit comments

Comments
 (0)