eth/fetcher: clear partial map when dropping last waitlist peer (#35399)
Some checks are pending
/ Linux Build (arm) (push) Waiting to run
/ Keeper Build (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Linux Build (push) Waiting to run
/ Docker Image (push) Waiting to run

When a peer drop removes the last waiter for a hash, waitlist and
waittime were cleaned up but partial could retain a stale entry. Delete
it too so the hash is fully forgotten.
This commit is contained in:
cui 2026-07-23 16:22:47 +08:00 committed by GitHub
parent 81ab8b594e
commit e317407d16
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -615,6 +615,7 @@ func (f *BlobFetcher) loop() {
if len(f.waitlist[hash]) == 0 {
delete(f.waitlist, hash)
delete(f.waittime, hash)
delete(f.partial, hash)
}
}
delete(f.waitslots, drop.peer)