-
Notifications
You must be signed in to change notification settings - Fork 689
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Block announcements are dropped because all per-peer validation slots are occupied #1929
Comments
It doesn't seem that this is happening due to 1. or 2. Validation slots are always deallocated once validations complete here:
and per-peer slot deallocation is tested here: polkadot-sdk/substrate/client/network/sync/src/block_announce_validator.rs Lines 359 to 383 in 21b3284
Also, assumption 2. is unlikely, because validations are always polled until the stream is pending (the stream never terminates): polkadot-sdk/substrate/client/network/sync/src/engine.rs Lines 910 to 912 in 21b3284
|
It looks like the issue might be caused by major syncing peers announcing imported blocks. By default, we always announce imported blocks: polkadot-sdk/substrate/client/service/src/lib.rs Lines 184 to 186 in 8ce16ee
announce_imported_blocks :polkadot-sdk/substrate/client/cli/src/config.rs Lines 431 to 436 in 8ce16ee
There is no "fuse" in polkadot-sdk/substrate/client/network/sync/src/engine.rs Lines 634 to 673 in 8ce16ee
When a peer is major syncing, the announcements might be broadcast faster then they are processed, what triggers the warning. |
When we are major syncing the node internally isn't sending block import notification and thus, we also don't announce anything. |
Adding logs for an event that might be related. I brought up a RPC node for Frequency and received a large number of block imports. Nothing special was happening on the nodes at the time. No other details / errors / warnings were indicated. @wilwade believed this issue may be related. |
Thanks @senseless Here are the logs for one of the archive nodes we run that picked up on the error Frequency is currently using Polkadot SDK v1.1.0 So possible that this has been fixed and we just need to update, but wanted to make sure the logs were here in case. Also getting 1000 of them in < 1 second feels odd. |
We should probably stop logging this, as this could be literally someone spamming the node. |
Addressed in #4480. |
Demote `Ignored block announcement because all validation slots for this peer are occupied.` message to debug level. This is mostly an indicator of somebody spamming the node or (more likely) some node actively keeping up with the network but not recognizing it's in a major sync mode, so sending zillions of block announcements (have seen this on Versi). This warning shouldn't be considered an error by the end user, so let's make it debug. Ref. #1929.
Demote `Ignored block announcement because all validation slots for this peer are occupied.` message to debug level. This is mostly an indicator of somebody spamming the node or (more likely) some node actively keeping up with the network but not recognizing it's in a major sync mode, so sending zillions of block announcements (have seen this on Versi). This warning shouldn't be considered an error by the end user, so let's make it debug. Ref. paritytech#1929.
Demote `Ignored block announcement because all validation slots for this peer are occupied.` message to debug level. This is mostly an indicator of somebody spamming the node or (more likely) some node actively keeping up with the network but not recognizing it's in a major sync mode, so sending zillions of block announcements (have seen this on Versi). This warning shouldn't be considered an error by the end user, so let's make it debug. Ref. paritytech#1929.
As reported by @altonen while running a burn-in for #1631, some block announcements are dropped with a warning:
polkadot-sdk/substrate/client/network/sync/src/block_announce_validator.rs
Line 163 in 1cf7d3a
This can be happening for several reasons:
MAX_CONCURRENT_BLOCK_ANNOUNCE_VALIDATIONS_PER_PEER
are currently set to4
).The text was updated successfully, but these errors were encountered: