Skip to content
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

Update rocksDB weights #2786

Merged
merged 13 commits into from
Aug 2, 2024
Merged

Update rocksDB weights #2786

merged 13 commits into from
Aug 2, 2024

Conversation

RomarQ
Copy link
Contributor

@RomarQ RomarQ commented Apr 29, 2024

What does it do?

This PR changes the rocksDb weights used in pallet frame_system based the storage benchmarks performed against 10M Moonbeam storage keys.

Previous values:

pub const RocksDbWeight: RuntimeDbWeight = RuntimeDbWeight {
	read: 25_000 * WEIGHT_REF_TIME_PER_NANOS,   // ~25 µs @ 200,000 items
	write: 100_000 * WEIGHT_REF_TIME_PER_NANOS, // ~100 µs @ 200,000 items
};

New values:

pub const RocksDbWeight: RuntimeDbWeight = RuntimeDbWeight {
	read: 41_742 * WEIGHT_REF_TIME_PER_NANOS,   // ~41 µs @ 200,000 items
	write: 81_283 * WEIGHT_REF_TIME_PER_NANOS, // ~81 µs @ 200,000 items
};

@RomarQ RomarQ added B7-runtimenoteworthy Changes should be noted in any runtime-upgrade release notes D5-nicetohaveaudit⚠️ PR contains trivial changes to logic that should be properly reviewed. labels Apr 29, 2024
@RomarQ RomarQ self-assigned this Apr 29, 2024
@RomarQ RomarQ added the not-breaking Does not need to be mentioned in breaking changes label Apr 29, 2024
librelois
librelois previously approved these changes May 22, 2024
@librelois
Copy link
Collaborator

@RomarQ can you merge master? I think we can merge this one

@noandrea noandrea requested review from librelois, a team, TarekkMA, pLabarta and chexware and removed request for a team and pLabarta July 23, 2024 18:34
TarekkMA
TarekkMA previously approved these changes Jul 24, 2024
Copy link
Contributor

github-actions bot commented Jul 24, 2024

Coverage Report

@@                      Coverage Diff                      @@
##           master   rq/update-rocksdb-weights      +/-   ##
=============================================================
- Coverage   80.97%                      80.84%   -0.13%     
+ Files         281                         283       +2     
+ Lines       81575                       81751     +176     
=============================================================
+ Hits        66054                       66090      +36     
+ Misses      15521                       15661     +140     
Files Changed Coverage
/runtime/moonbeam/src/migrations.rs 13.58% (-86.42%) 🔽

Coverage generated Thu Aug 1 12:15:34 UTC 2024

@RomarQ
Copy link
Contributor Author

RomarQ commented Aug 1, 2024

@moonbeam-foundation/moonsong-coredev the CI is now green and can be merged.

@RomarQ RomarQ requested a review from ahmadkaouk August 1, 2024 14:18
@noandrea noandrea merged commit 4a5d52d into master Aug 2, 2024
37 checks passed
@noandrea noandrea deleted the rq/update-rocksdb-weights branch August 2, 2024 07:28
pLabarta added a commit that referenced this pull request Aug 29, 2024
* add: storage read cost constant

* update test-pov

* update xcm-v3 tests

* update xcm-v4 tests

* add storage read gas cost to constants

* update test-precompile

* load constant in beforeAll

* replace gas cost with weight to gas ratio
gonzamontiel pushed a commit that referenced this pull request Sep 4, 2024
* add: storage read cost constant

* update test-pov

* update xcm-v3 tests

* update xcm-v4 tests

* add storage read gas cost to constants

* update test-precompile

* load constant in beforeAll

* replace gas cost with weight to gas ratio
librelois added a commit that referenced this pull request Oct 2, 2024
* point dependencies to moonbeam-polkadot-sdk-stable2407

* bump packages versions to match polkadot-sdk

* apply TransactionPov changes

* update runtime configs (wip)

* update imports

* mute hrmp channel moonriver - Litmus (#2914)

* Add step to Build workflow to check for WASM runtime sizes (#2888)

* add simple wasm size check

* only run on pull requests

* add Github token to env

* fix download dir name

* try comparing previous and current runtimes

* change master branch with dynamic target branch ref

* add comparison to latest release

* test with older release

* download from release instead of workflow artifact

* debug release tag not saved to env

* debug some more

* use gh cli to get releases instead of git tag

* use gh api instead of releases

* remove get build id & fix awk parsing

* build runtimes with _, releases with -

* add comment to PR and format msg

* use markdown report & replace comment

* cat report & fix comment formatting

* add twiggy diff reports as artifacts

* use upload v4 & create reports dir

* rm: deprecated ::set-output cmd

* add log event (#2918)

* Extract Storage Read costs for dev tests involved in #2786 (#2915)

* add: storage read cost constant

* update test-pov

* update xcm-v3 tests

* update xcm-v4 tests

* add storage read gas cost to constants

* update test-precompile

* load constant in beforeAll

* replace gas cost with weight to gas ratio

* Fix auto-pause xcm: incoming XCMP messages where dropped when auto-pause (#2913)

* chore: rename crate manual-xcm-rpc -> moonbeam-dev-rpc

* add RPC method test_skipRelayBlocks

* allow Root to resume XCM execution

* update moonkit pin

* add dev-test that trigger auto-pause of xcm

* prettier

* dev test auto-pause xcm: remove unused imports & improve test scenario

* add pallet-emergency-para-xcm to moonriver

* add pallet-emergency-para-xcm to moonbeam

* apply review suggestions

* Set the block size to 60mln gas for moonbeam (#2921)

* set the block size to 60mln gas for moonbeam

* update mbip-5 value in test

* Add pallet_parameters (moonbase only) (#2923)

* add pallet parameters

* XcmFeesAccount

* add copyrights

* add FeesTreasuryProportion
---------

Co-authored-by: Rodrigo Quelhas <22591718+RomarQ@users.noreply.github.com>

* make moonbeam compile

* remove cumulus_pallet_dmp_queue

* remove unused import

* add proper para_id to MockValidationDataInherentDataProvider

* update config for tests

* add MockTimestampInherentDataProvider to simulate consistent and sequential relay slots

* Revert "apply TransactionPov changes"

This reverts commit 4382107.

* update cargo lock pins

* remove import of deleted TransacionPoV

* Make cargo test compile
* Add XcmRecorder to XcmConfig
* Add VersionWrapper to hrmp::COnfig
* Remove code from deprecated pallet treasury
* Remove code from deprecated DmpQueue
* Remove code from deprecated XCMV2

* remove deprecated tresury pallet tests, add some for the new functionality

* fix tests

* fix remaining dev tests

* fix licenses

* fix lazy loading backend for stable

* remove unused patch

* fix linters

* fix cargo test with benchmarking and tracing enabled

* fix lazy loading

* fix command for lazy loading

* update frontier pin

* support new 'stableYYMM' versioning for polkadot

* update polkadot sdk pin

* fix download-polkadot script

* simplify script

* Replace thread_local with AtomicU64 (as per review request)

* remove deprecated test code

* use latest version of nextest

* Update precompiles/collective/src/mock.rs

Co-authored-by: Rodrigo Quelhas <22591718+RomarQ@users.noreply.github.com>

* apply review suggestions

* Revert "apply review suggestions"

This reverts commit 6daef57.

* apply review suggestions

* fix lazy-loading

* re add reset_issuance

* add missing weights

* remove unused var

* fix download correct binaries

* cargo fmt

* make polkadot worker binearies executable

* configure XcmRecorder for mocks

---------

Co-authored-by: Éloïs <c@elo.tf>
Co-authored-by: pablito テ <pablitolabarta@gmail.com>
Co-authored-by: Rodrigo Quelhas <22591718+RomarQ@users.noreply.github.com>
Co-authored-by: Andrea Giacobino <no.andrea@gmail.com>
Co-authored-by: Tarek Mohamed Abdalla <tarekkma@gmail.com>
Co-authored-by: Rodrigo Quelhas <rodrigo_quelhas@outlook.pt>
Co-authored-by: Agusrodri <agusrodriguez2456@gmail.com>
Agusrodri added a commit that referenced this pull request Oct 2, 2024
…#2980)

* point dependencies to moonbeam-polkadot-sdk-stable2407

* bump packages versions to match polkadot-sdk

* apply TransactionPov changes

* update runtime configs (wip)

* update imports

* mute hrmp channel moonriver - Litmus (#2914)

* Add step to Build workflow to check for WASM runtime sizes (#2888)

* add simple wasm size check

* only run on pull requests

* add Github token to env

* fix download dir name

* try comparing previous and current runtimes

* change master branch with dynamic target branch ref

* add comparison to latest release

* test with older release

* download from release instead of workflow artifact

* debug release tag not saved to env

* debug some more

* use gh cli to get releases instead of git tag

* use gh api instead of releases

* remove get build id & fix awk parsing

* build runtimes with _, releases with -

* add comment to PR and format msg

* use markdown report & replace comment

* cat report & fix comment formatting

* add twiggy diff reports as artifacts

* use upload v4 & create reports dir

* rm: deprecated ::set-output cmd

* add log event (#2918)

* Extract Storage Read costs for dev tests involved in #2786 (#2915)

* add: storage read cost constant

* update test-pov

* update xcm-v3 tests

* update xcm-v4 tests

* add storage read gas cost to constants

* update test-precompile

* load constant in beforeAll

* replace gas cost with weight to gas ratio

* Fix auto-pause xcm: incoming XCMP messages where dropped when auto-pause (#2913)

* chore: rename crate manual-xcm-rpc -> moonbeam-dev-rpc

* add RPC method test_skipRelayBlocks

* allow Root to resume XCM execution

* update moonkit pin

* add dev-test that trigger auto-pause of xcm

* prettier

* dev test auto-pause xcm: remove unused imports & improve test scenario

* add pallet-emergency-para-xcm to moonriver

* add pallet-emergency-para-xcm to moonbeam

* apply review suggestions

* Set the block size to 60mln gas for moonbeam (#2921)

* set the block size to 60mln gas for moonbeam

* update mbip-5 value in test

* Add pallet_parameters (moonbase only) (#2923)

* add pallet parameters

* XcmFeesAccount

* add copyrights

* add FeesTreasuryProportion
---------

Co-authored-by: Rodrigo Quelhas <22591718+RomarQ@users.noreply.github.com>

* make moonbeam compile

* remove cumulus_pallet_dmp_queue

* remove unused import

* add proper para_id to MockValidationDataInherentDataProvider

* update config for tests

* add MockTimestampInherentDataProvider to simulate consistent and sequential relay slots

* Revert "apply TransactionPov changes"

This reverts commit 4382107.

* update cargo lock pins

* remove import of deleted TransacionPoV

* Make cargo test compile
* Add XcmRecorder to XcmConfig
* Add VersionWrapper to hrmp::COnfig
* Remove code from deprecated pallet treasury
* Remove code from deprecated DmpQueue
* Remove code from deprecated XCMV2

* remove deprecated tresury pallet tests, add some for the new functionality

* fix tests

* fix remaining dev tests

* fix licenses

* fix lazy loading backend for stable

* remove unused patch

* fix linters

* fix cargo test with benchmarking and tracing enabled

* fix lazy loading

* fix command for lazy loading

* update frontier pin

* support new 'stableYYMM' versioning for polkadot

* update polkadot sdk pin

* fix download-polkadot script

* simplify script

* Replace thread_local with AtomicU64 (as per review request)

* remove deprecated test code

* use latest version of nextest

* add DryRunApi and LocationToAccountApi

* Update precompiles/collective/src/mock.rs

Co-authored-by: Rodrigo Quelhas <22591718+RomarQ@users.noreply.github.com>

* apply review suggestions

* Revert "apply review suggestions"

This reverts commit 6daef57.

* apply review suggestions

* fix lazy-loading

* re add reset_issuance

* add missing weights

* remove unused var

* add TS tests

* cleanup

* fmt

* fix download correct binaries

* cargo fmt

* make polkadot worker binearies executable

* configure XcmRecorder for mocks

---------

Co-authored-by: Gonza Montiel <gon.montiel@gmail.com>
Co-authored-by: Éloïs <c@elo.tf>
Co-authored-by: pablito テ <pablitolabarta@gmail.com>
Co-authored-by: Rodrigo Quelhas <22591718+RomarQ@users.noreply.github.com>
Co-authored-by: Andrea Giacobino <no.andrea@gmail.com>
Co-authored-by: Tarek Mohamed Abdalla <tarekkma@gmail.com>
Co-authored-by: Rodrigo Quelhas <rodrigo_quelhas@outlook.pt>
Co-authored-by: Gonza Montiel <gonzamontiel@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B7-runtimenoteworthy Changes should be noted in any runtime-upgrade release notes D5-nicetohaveaudit⚠️ PR contains trivial changes to logic that should be properly reviewed. not-breaking Does not need to be mentioned in breaking changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants