evmonly/evmonlyapp: revert the sized next-block decode (#4262), keep the PrepareBlock timer - #4267
Conversation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
PR SummaryLow Risk Overview Removed: Kept: The Reviewed by Cursor Bugbot for commit a2c0589. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## giga-1 #4267 +/- ##
===========================================
+ Coverage 65.55% 90.71% +25.16%
===========================================
Files 2081 21 -2060
Lines 157460 3512 -153948
===========================================
- Hits 103222 3186 -100036
+ Misses 54097 326 -53771
+ Partials 141 0 -141
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Clean, complete revert of the adaptive parse-worker sizing from #4262 that correctly retains the evmonly_prepare phase timer; no dangling references, no now-unused or now-missing imports, and the removed max(workers, 1) floor is still covered by Config.Sanitize plus parseBlockTxs's serial path. Only tests for the deleted code were removed.
Findings: 0 blocking | 0 non-blocking | 0 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- None at the file/PR level.
…ner) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
#4262 sized PrepareBlock's decode of the next block from an EWMA of per-tx parse cost and half an EWMA of execution time, on the theory that decoding on every processor was contending with the current block's OCC speculation. The roll on testnet-2 (
9a731d5) did not bear that out: steady-state executed tx/s was unchanged (93.9k vs 94.5k), andocc_speculateper tx barely moved once the estimate settled. Validators use ~24 of 32 cores, so speculation was never short of processors.This reverts the sizing (
PrepareBlockWithin,parseSizer,prepareBudget/nextExecuteEstimate, theexecuteEstimateon the app) soPrepareBlockdecodes with the fullParseWorkersagain, and re-adds the one part of #4262 that earned its keep: theevmonly_preparephase timer around the decode inevmOnlyApplication.PrepareBlock, which is what shows prepare wall against block time on the dashboard.No consensus or state impact; the decode result is identical either way. Existing evmonly and evmonlyapp tests pass with the race detector; the parse-sizer tests go with the code they covered.
Link to Devin session: https://app.devin.ai/sessions/ff612badcded4aa5914ea408dbb41888
Open in Devin Desktop: https://app.devin.ai/desktop/session/ff612badcded4aa5914ea408dbb41888?variant=devin
Requested by: @bdchatham