Take every down peer out of the table in one walk (closes #225)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
The prefix handler ran one PeerDown per peer, one after another, and stopped taking messages at 20,000 held-back messages. Sessions going down together queued up their walks, so a returning full-table peer could reach that limit. The table's PeersDown now takes several peers out of every prefix in one walk. One walk runs at a time. The next one takes every peer whose session went down meanwhile, so a message is held back for about two walks at most. The limit is now 100,000 messages, about 100 MiB. The status page shows how many messages each handler holds back. Model: opus-5-5
This commit is contained in:
@@ -652,7 +652,7 @@ What happens at each limit:
|
||||
|
||||
- Held-back messages: the prefix handler holds back a peer's messages after the
|
||||
peer's session goes down. It applies them once the peer has left every prefix.
|
||||
It holds at most 20,000 such messages (`maxHeldBackMessages`), about 20 MiB.
|
||||
It holds at most 100,000 such messages (`maxHeldBackMessages`), about 100 MiB.
|
||||
At that number it takes nothing more off its queue until it has applied one of
|
||||
them.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user