hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.48k stars 803 forks source link

Error "Invalid params" when send a big mount of transaction(old versions before 21.10.9 dont have this issue) #5368

Closed cai-dclab closed 1 year ago

cai-dclab commented 1 year ago

Description

I am using Caliper to test the performance of besu(IBFT2.0 and Clique). However, there is one transaction in the middle of it was failed with error "Invalid params". It cause the nonce gap because Caliper sends consecutive nonce number of transaction. All the transactions after the failed transaction will stuck in the txpool.

I found an exactly same issue form Caliper repo's issue: https://github.com/hyperledger/caliper/issues/1474

But, the old version of Besu(before 21.10.9) doesn't have this issue. So I assume the new version's update triggered it.

Can anyone help?

Steps to Reproduce (Bug)

https://github.com/hyperledger/caliper/issues/1474 Here is the reproduce process someone posted. I guess it will happen when there is a huge amount of transactions send the the node.

Versions (Add all that apply)

non-fungible-nelson commented 1 year ago

I see that you found the issue around the tx-pool limit flag. In our next release we also have a new transaction pool that would not cause these transactions to be stuck. OK to close this issue? With the right config it should allow Caliper to continue

chenqping commented 1 year ago

configuration doesn't help oh, @non-fungible-nelson @cai-dclab did you solve this issue, as it exists in 23.1.3 when I benchmark with caliper

cai-dclab commented 1 year ago

@chenqping yes, I also still have this error even with version 23.1.4. But I noticed if I set it to a lower txNumber(txNumber: 1500), there is no error. This error is occurring around 1700~1900 tx.
@non-fungible-nelson Would you please send me the pool limit flag fix issue number or code commit? The error still there.