-
Notifications
You must be signed in to change notification settings - Fork 707
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
Many Trying to notify an import but the channel is full
during Spammening on Kusama
#6600
Comments
The problem is with this channel: polkadot-sdk/substrate/client/transaction-pool/src/graph/validated_pool.rs Lines 592 to 598 in bf20a9e
Which is later consumed by transaction networking protocol: polkadot-sdk/substrate/client/service/src/builder.rs Lines 570 to 596 in bf20a9e
This probably gets clogged and may lead to #5486. We would need some improvements here. I don't see easy fix for this. This issue is probably one more reason to start working on new transaction protocol. |
I think this should fix the issue. Or at least reduce its likelihood. |
Reading Also the conflicting lock during import is relatively cheap (comparing to whole work done in submit).
which is here:
So by saying "both are cheap" - I try to say they don't interfer with each other to the extent that cause import is blocking status. I also quickly tested proposed fix locally with zombienet (rpc + 3 collators + spamming transactions), and I still can see warning The fix still makes sense - there is no reason to update telemetry with every transaction. But from what I can say it will not solve this problem. Maybe we should just remove the warning and accept that propagating single transactions on import notification won't happen for every tx. They will be propagate in the batch, which is happening periodically here:
|
Hmm :D Basically we are just forwarding from one channel to another, weird that this is not be able to keep up with the speed we are importing tx. |
I think it goes down to: polkadot-sdk/substrate/client/network/transactions/src/lib.rs Lines 505 to 508 in 7c5224c
and then to: polkadot-sdk/substrate/client/network/src/protocol/notifications/handler.rs Lines 412 to 429 in 7c5224c
So maybe, once the network channel to the other peer is closed, the other side of the But I speculate here, as I am not yet familiar with this part of codebase. |
And the size of
|
txpool produced many warnings on Kusama, cc @michalkucharczyk
Logs in Grafana
https://grafana.teleport.parity.io/goto/duhHadnNg?orgId=1
The text was updated successfully, but these errors were encountered: