[lbry] wire: limit the blocks of getdata message
In the cuurent codebase, OnGetData() handler penalizes / ban peers requesting large blocks. server.go: @@ -649,7 +649,7 @@ func (sp *serverPeer) OnGetData(_ *peer.Peer, msg *wire.MsgGetData) { // bursts of small requests are not penalized as that would potentially ban // peers performing IBD. // This incremental score decays each minute to half of its value. if sp.addBanScore(0, uint32(length)*99/wire.MaxInvPerMsg, "getdata") { return } This accidentally penalize nodes trying to catch up checkpoints whose 'getdata' requests would be as large as the wire.MaxInvPerMsg, and get banned very soon. This patch limit getdata request to wire.MaxInvPerMsg/99 blocks.
This commit is contained in:
parent
4a8d390a06
commit
e48200f53a
1 changed files with 1 additions and 1 deletions
|
@ -903,7 +903,7 @@ func (sm *SyncManager) fetchHeaderBlocks() {
|
|||
numRequested++
|
||||
}
|
||||
sm.startHeader = e.Next()
|
||||
if numRequested >= wire.MaxInvPerMsg {
|
||||
if numRequested >= wire.MaxInvPerMsg/99 {
|
||||
break
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue