Open praetoriansentry opened 3 weeks ago
FYI @xavier-romero pointed out that this is likely related or the same issue as #1308. In both cases, transactions stay pending while we wait for the batch to close.
I'd imagine this is fixed now by #1417. If you enable zkevm.seal-batch-immediately-on-overflow
it will close the batch if there are already transactions in the batch and an overflow is detected.
Review again in beta 6 @praetoriansentry @xavier-romero
Generally, if the pending queue has transactions in it, Erigon will rapidly create blocks and consume all of the transactions within the pending queue. E.g. often the blocks will be created with a
1s
or even0s
block interval.With the latest version, I'm seeing some different behavior where Erigon will have many valid transactions in the pending queue, but it mines empty blocks and it takes a very long time to process the transactions.
In the screenshot above, I've sent about 200 identical transactions. They're essentially all valid and pending. If I wait long enough they'll all be mined. But in the mean time Erigon is not producing blocks quickly and in fact it's mining empty blocks. These are the logs from Erigon that align with the time period shown in the screenshot: erigon-slow-mining.log
To replicate the scenario above, I'm sending a bunch of transactions like this:
If I change the
--gas-limit
to be373315
instead, the behavior is very different and a lot of blocks will be created right away. In this scenario, I'm running with Erigon 434376b78c60ff5cfdf1c6efebe813690f8d73d5 and using the fork13 configuration: