-
Notifications
You must be signed in to change notification settings - Fork 30
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
bug: pending txs should be stored in graceful shutdown #373
Comments
Ah, it was a known bug but I was about to fix it when implemented saving mempool to db. When block prod is enabled it always recreates a pending block on startup, it can't restart exec from a current pending block.
The second option would allow us to update the gas prices on restart (which would be useful after stopping for long), and would also allow us to change protocol version & other stuff across the restart if the configuration change, so that it's taken into account for this pending block and not the next one For the first option, I believe we also have to reexecute the transactions because we can't supply the old state update & execution state to blockifier easily - the difference would only be that we don't recreate the block header What do you think? @apoorvsadana |
Thanks for this detailed explanation like always!
If the explorer has reorg handling, it mostly won't break but I can see issues happening if users can't trust pending receipts. For v0, block times will mostly be large because of proving costs but the reason that's fine is that we've pending receipts so you still get soft confirmations and good UX. For example, Pragma is considering doing hyperlane bridging with pending txs, if on restart the txn is lost, it can be a issue. cc @EvolveArt @akhercha.
You're right, I think we can't afford this for now because our block times are large so people will rely on pending receipts. So they need to be pretty strong confirmations. if there's a chance that it can be reverted, it will be difficult to create a good UX. So I would suggest we do option (1) if possible. |
Is there an existing issue?
Description of bug
If some transactions have been processed due to ticks but haven't been included in a block because the block hasn't sealed, then if you close the sequencer and restart, the txs will be lost.
Steps to reproduce
To reproduce
This can break tooling like explorers or other apps that index pending blocks. Maybe not a good design but we should still try to track processed txs across restarts.
The text was updated successfully, but these errors were encountered: