You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Peer A connects to peer B, ends up with two connections.
Peer A sends want to peer B.
Peer B sends block to peer A and removes the block from the wantlist.
The connection used in (3) gets killed and the block gets lost in transit.
However, the peers are never disconnected so peer A never resends the wantlist.
Solution
When sending a block, we could move the want to some "suspended" wantlist. If we don't receive an unwant from that user within a period of time, we could send the block again.
We should better track block send errors. As far as I can tell, we never retry but we really should. Ideally, if we keep failing, we'd close the peer's inbound wantlist stream to signal "go away".
The text was updated successfully, but these errors were encountered:
Forked from ipfs/go-bitswap#99.
Problem
So, the following could be happening:
However, the peers are never disconnected so peer A never resends the wantlist.
Solution
The text was updated successfully, but these errors were encountered: