-
Notifications
You must be signed in to change notification settings - Fork 689
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
[benchmarking] Reset to genesis storage after each run #5655
Conversation
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
I will rebase #5327 tomorrow.
There is commit with enabling of the new short benchmarking CI with frame-omni-bencher, so BridgeHubRococo with frame-omni-bencher fails there, so after rebase it should work.
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
This reverts commit 9aa865f.
doc: | ||
- audience: Runtime Dev | ||
description: |- | ||
The genesis state is currently partially provided via `OverlayedChanges`, but these changes are reset by the runtime after the first repetition, causing the second repitition to use an invalid genesis state. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but these changes are reset by the runtime after the first repetition
You mean here that this was overridden and not reset?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay this is funny, did not see this PR but had similar thoughts today: #5694
While at it, should we fix issue 2a from the linked issue too?
}) | ||
} | ||
|
||
/// Convert some overlayed changes to a storage. | ||
fn changes_to_storage<H: Hash>( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not get rid of all of this and genesis_from_runtime
and just use GenesisConfigBuilderRuntimeCaller
? It has all the machinery ready and we get rid of the manual json merging stuff too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd also try using GenesisConfigBuilderRuntimeCaller
to have genesis storage building in one place. If something is missing it can be adjusted / reworked.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed it now.
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
@ggwpez Anything speaks against merging this? I have a follow up that could share some code. |
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
It is a first step for switching to the `frame-omni-bencher` for CI. This PR includes several changes related to generating chain specs plus: - [x] pallet `assigned_slots` fix missing `#[serde(skip)]` for phantom - [x] pallet `paras_inherent` benchmark fix - cherry-picked from #5688 - [x] migrates `get_preset` to the relevant runtimes - [x] fixes Rococo genesis presets - does not work https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7317249 - [x] fixes Rococo benchmarks for CI - [x] migrate westend genesis - [x] remove wococo stuff Closes: #5680 ## Follow-ups - Fix for frame-omni-bencher #5655 - Enable new short-benchmarking CI - #5706 - Remove gitlab pipelines for short benchmarking - refactor all Cumulus runtimes to use `get_preset` - #5704 - #5705 - #5700 - [ ] Backport to the stable --------- Co-authored-by: command-bot <> Co-authored-by: ordian <[email protected]>
It is a first step for switching to the `frame-omni-bencher` for CI. This PR includes several changes related to generating chain specs plus: - [x] pallet `assigned_slots` fix missing `#[serde(skip)]` for phantom - [x] pallet `paras_inherent` benchmark fix - cherry-picked from #5688 - [x] migrates `get_preset` to the relevant runtimes - [x] fixes Rococo genesis presets - does not work https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7317249 - [x] fixes Rococo benchmarks for CI - [x] migrate westend genesis - [x] remove wococo stuff Closes: #5680 - Fix for frame-omni-bencher #5655 - Enable new short-benchmarking CI - #5706 - Remove gitlab pipelines for short benchmarking - refactor all Cumulus runtimes to use `get_preset` - #5704 - #5705 - #5700 - [ ] Backport to the stable --------- Co-authored-by: command-bot <> Co-authored-by: ordian <[email protected]> (cherry picked from commit 8735c66)
This fix is working finally for short-benchmarking with omni-bencher for bridge-hubs/collectives: |
Created backport PR for
Please cherry-pick the changes locally and resolve any conflicts. git fetch origin backport-5655-to-stable2407
git worktree add --checkout .worktree/backport-5655-to-stable2407 backport-5655-to-stable2407
cd .worktree/backport-5655-to-stable2407
git reset --hard HEAD^
git cherry-pick -x 2e4e5bf2fd0ae19fa38951c7e5f495dd1453b2bb
git push --force-with-lease |
The genesis state is currently partially provided via `OverlayedChanges`, but these changes are reset by the runtime after the first repetition, causing the second repitition to use an invalid genesis state. Changes: - Provide the genesis state as a `Storage` without any `OverlayedChanges` to make it work correctly with repetitions. - Add `--genesis-builder-preset` option to use different genesis preset names. - Improve error messages. --------- Signed-off-by: Oliver Tale-Yazdi <[email protected]> Co-authored-by: ggwpez <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> Co-authored-by: Branislav Kontur <[email protected]> (cherry picked from commit 2e4e5bf)
Successfully created backport PR for |
Backport #5655 into `stable2409` from ggwpez. See the [documentation](https://github.com/paritytech/polkadot-sdk/blob/master/docs/BACKPORT.md) on how to use this bot. <!-- # To be used by other automation, do not modify: original-pr-number: #${pull_number} --> --------- Signed-off-by: Oliver Tale-Yazdi <[email protected]> Co-authored-by: Oliver Tale-Yazdi <[email protected]>
@ggwpez Oliver, we probably didn’t realize this earlier, but with this PR, cc: @mordamax |
The genesis state is currently partially provided via
OverlayedChanges
, but these changes are reset by the runtime after the first repetition, causing the second repitition to use an invalid genesis state.Changes:
Storage
without anyOverlayedChanges
to make it work correctly with repetitions.--genesis-builder-preset
option to use different genesis preset names.