-
Notifications
You must be signed in to change notification settings - Fork 1.5k
execution/builder: keep polling dry txnpool for txns until we are interrupted #16412
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
Conversation
|
But then it's gonna keep polling till the end of the slot if txpool is honestly empty. The execution should build a block ideally within the first 2 seconds or so. Edit: After reading your desc. again, i think you don't mean to pass |
The For the 2 sec example - the CL will call GetPayload at 2secs and that will interrupt block building. |
|
The only reason I've added an upper bound is to preserve compute resources and guarantee that the builder goroutines terminate in the case the txpool never dries out and GetPayload is never called. Note that GetPayload not getting called is a rare scenario, so treat this as protection for an extreme case. Regarding your points:
|
Well, first of all, 99.999% - that's not a number based on some data i can cross-check. So, I presume that's a crude measure of conviction for the argument. But I agree that in most cases |
they still won't be there - because GetPayload will be called |
Continuation of PR #16412 Co-authored-by: taratorio <[email protected]>
Test
"Blob Transaction Ordering, Multiple Clients (Cancun) (erigon)"is flaky (example run - https://github.com/erigontech/erigon/actions/runs/16647657985/job/47112094838)the test setup is:
we flake because:
coincidentally, this may be one reason why we sometimes see Erigon produce emptier blocks on devnets as compared to other clients