Transactions with nonce gaps are emitted by BestTransactions
when there are too many incoming transactions
#12336
Labels
C-bug
An unexpected or incorrect behavior
S-needs-triage
This issue needs to be labelled
S-stale
This issue/PR is stale and will close with no further activity
Describe the bug
The broadcast channel capacity is quite big, but not big enough under heavy workload:
When the channel is full,
BestTransactions
will fail to listen to some incoming transactions. Unfortunately,BestTransactions
assume that the incoming transactions are gapless. This causes some txs are emitted although they are not independent yet.Event sequence
BestTransaction
instance is created, and listening to the incoming transactions (i.e..no_updates()
is not called).BestTransactions::next()
is too slow.BestTransactions
receives a new one. Because the tx parent is not found,BestTransactions
considers it as an independent tx:Steps to reproduce
crates/transaction-pool/src/pool/best.rs
.num_senders
to 10. Re-run the test. It will pass.Node logs
No response
Platform(s)
Mac (Apple Silicon)
What version/commit are you on?
v1.1.0
What database version are you on?
N/A
Which chain / network are you on?
N/A
What type of node are you running?
Archive (default)
What prune config do you use, if any?
No response
If you've built Reth from source, provide the full command you used
No response
Code of Conduct
The text was updated successfully, but these errors were encountered: