fix: clean up flashblock settings and QoL features#168
Open
Conversation
1ac186b to
fc32ba8
Compare
Collaborator
🟡 Heimdall Review Status
|
d9c7ce9 to
94daed8
Compare
9676005 to
50b2f40
Compare
On failure, read the last 1MB of the sequencer and validator el.log files and print them to CI stdout. This surfaces subprocess output (reth/geth) that was previously only available in gzipped artifacts.
- Remove --flashblocks.fixed (flag no longer exists in base-builder) - Change DefaultFlashblocksBlockTime from "250ms" to "250" (binary expects milliseconds as a plain integer, not a Go duration string) - Fix time.Sleep(time.Duration(params.BlockTime) * time.Second) to time.Sleep(params.BlockTime) -- BlockTime is already a time.Duration so the multiplication produced a ~31-year sleep, causing the hang
8c17f4c to
1ebd883
Compare
Add aliases field to ChartConfig so each metric definition can list legacy/alternate key names. ChartGrid resolves the first key that has data, so old reports using reth_op_rbuilder_* names still render alongside new reports using reth_base_builder_*_avg keys.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes flashblock and block time settings so the benchmark harness respects configurable block times instead of hardcoding 1-second blocks. Also fixes several bugs discovered while debugging CI failures.
Changes
Block time & flashblocks config
block_timefield toBenchmarkConfig(parsed as a Go duration, default\"1s\"). Plumbed throughResolveTestRunsFromMatrix→RunParams.BlockTime→ consensus client and rollup config.flashblocks.block_timeconfig field (default\"250ms\"). Passed throughRuntimeConfigto the builder client as--flashblocks.block-time.--flashblocks.block-timeand--rollup.chain-block-timeto the builder binary.GetRollupConfignow acceptsblockTimeSecinstead of hardcodingBlockTime: 1.params.BlockTimeinstead of hardcoded1000ms.blockTimeSecfrom params toNewOPProgramBenchmark.--root-dirdefaults to./data-dirand--output-dirdefaults to./output(no longer required flags).Bug fixes (found while debugging CI)
time.Sleep(time.Duration(params.BlockTime) * time.Second)→time.Sleep(params.BlockTime).BlockTimeis already atime.Duration, so the multiplication produced a ~31-year sleep, causing the benchmark to hang indefinitely after the final block.--flashblocks.fixedremoved: This flag no longer exists inbase-builderand caused the binary to exit immediately with "unexpected argument" — making it look like an RPC connection failure.DefaultFlashblocksBlockTimefrom"250ms"to"250"— the builder binary expects plain milliseconds as an integer, not a Go duration string.id: cache-optimism→id: cache-rethin_build-binaries.yaml. The mismatched ID meant the cache hit was never detected and reth was rebuilt from source (~20 min) on every CI run.el.logfiles are now printed inline to CI stdout. Previously, subprocess output was only available in expiring gzipped artifacts, making failures impossible to debug after ~30 days.Testing
go build ./...passesgo test ./...passes (matrix_test.go updated to use explicit1 * time.Second)numSuccess=1 numFailure=0, 14 blocks built and validated)