Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
rpc rebase: Try-runtime Revamp and Facelift (#12921)
Browse files Browse the repository at this point in the history
* Introduce sensible weight constants (#12868)

* Introduce sensible weight constants

* cargo fmt

* Remove unused import

* Add missing import

* ".git/.scripts/bench-bot.sh" pallet dev pallet_lottery

Co-authored-by: command-bot <>

* Checkout to the branch HEAD explicitly in `build-linux-substrate` (#12876)

* cli: Improve pruning documentation (#12819)

* cli: Improve pruning documentation

Signed-off-by: Alexandru Vasile <[email protected]>

* cli: Keep `finalized` notation and remove `canonical` one

* cli: Fix cargo doc

* cli: `PruningModeClap` IR enum

Signed-off-by: Alexandru Vasile <[email protected]>

* cli: Convert PruningModeClap into pruning modes

Signed-off-by: Alexandru Vasile <[email protected]>

* cli: Use `PruningModeClap`

Signed-off-by: Alexandru Vasile <[email protected]>

* cli: Rename to `DatabasePruningMode`

Signed-off-by: Alexandru Vasile <[email protected]>

* cli: Implement `FromStr` instead of `clap::ValueEnum`

Signed-off-by: Alexandru Vasile <[email protected]>

* Update client/cli/src/params/pruning_params.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Fix clippy

Signed-off-by: Alexandru Vasile <[email protected]>

* cli: Add option documentation back

Signed-off-by: Alexandru Vasile <[email protected]>

* Apply suggestions from code review

Signed-off-by: Alexandru Vasile <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>

* Revert "Move LockableCurrency trait to fungibles::Lockable and deprecate LockableCurrency (#12798)" (#12882)

This reverts commit ea3ca3f.

* Don't indefinitely block on shutting down Tokio (#12885)

* Don't indefinitely on shutting down Tokio

Now we wait in maximum 60 seconds before we shutdown the node. Tasks are may be leaked and leading
to some data corruption.

* Drink less :thinking_face:

* General Message Queue Pallet (#12485)

* The message queue

* Make fully generic

* Refactor

* Docs

* Refactor

* Use iter not slice

* Per-origin queues

* Multi-queue processing

* Introduce MaxReady

* Remove MaxReady in favour of ready ring

* Cleanups

* ReadyRing and tests

* Stale page reaping

* from_components -> from_parts

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Move WeightCounter to sp_weights

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add MockedWeightInfo

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Deploy to kitchensink

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use WeightCounter

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Small fixes and logging

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add service_page

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Typo

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Move service_page below service_queue

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add service_message

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use correct weight function

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Overweight execution

* Refactor

* Missing file

* Fix WeightCounter usage in scheduler

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix peek_index

Take into account that decoding from a mutable slice modifies it.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add tests and bench service_page_item

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add debug_info

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add no-progress check to service_queues

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add more benches

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Bound from_message and try_append_message

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add PageReaped event

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Rename BookStateOf and BookStateFor

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update tests and remove logging

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove redundant per-message origins; add footprint() and sweep_queue()

* Move testing stuff to mock.rs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add integration test

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix no-progress check

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix debug_info

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fixup merge and tests

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix footprint tracking

* Introduce

* Formatting

* OverweightEnqueued event, auto-servicing config item

* Update tests and benchmarks

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Clippy

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add tests

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Provide change handler

* Add missing BookStateFor::insert and call QueueChangeHandler

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Docs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update benchmarks and weights

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* More tests...

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use weight metering functions

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* weightInfo::process_message_payload is gone

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add defensive_saturating_accrue

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Rename WeightCounter to WeightMeter

Ctr+Shift+H should do the trick.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Test on_initialize

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add module docs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove origin from MaxMessageLen

The message origin is not encoded into the heap and does
therefore not influence the max message length anymore.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add BoundedVec::as_slice

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Test Page::{from_message, try_append_message}

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fixup docs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Docs

* Do nothing in sweep_queue if the queue does not exist

... otherwise it inserts default values into the storage.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Test ring (un)knitting

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Upgrade stress-test

Change the test to not assume that all queued messages will be
processed in the next block but split it over multiple.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* More tests...

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Beauty fixes

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* clippy

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Rename BoundedVec::as_slice to as_bounded_slice

Conflicts with deref().as_slice() otherwise.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix imports

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove ReadyRing struct

Was used for testing only. Instead use 'fn assert_ring' which also
check the service head and backlinks.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Beauty fixes

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix stale page watermark

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Cleanup

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix test feature and clippy

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* QueueChanged handler is called correctly

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update benches

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Abstract testing functions

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* More tests

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Cleanup

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Clippy

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* fmt

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Simplify tests

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Make stuff compile

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Extend overweight execution benchmark

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove TODOs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Test service queue with faulty MessageProcessor

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* fmt

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update pallet ui tests to 1.65

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* More docs

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Review doc fixes

Co-authored-by: Robert Klotzner <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add weight_limit to extrinsic weight of execute_overweight

* Correctly return unused weight

* Return actual weight consumed in do_execute_overweight

* Review fixes

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Set version 7.0.0-dev

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Make it compile

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Switch message_size to u64

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Switch message_count to u64

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix benchmarks

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Make CI green

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Docs

* Update tests

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* ".git/.scripts/bench-bot.sh" pallet dev pallet_message_queue

* Dont mention README.md in the Cargo.toml

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Remove reference to readme

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: parity-processbot <>
Co-authored-by: Robert Klotzner <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>

* zombienet timings adjusted (#12890)

* zombinet tests: add some timeout to allow net spin-up

Sometimes tests are failing at first try, as the pods were not up yet.
Adding timeout should allow the network to spin up properly.

* initial timeout increased to 30s

* Move import queue out of `sc-network` (#12764)

* Move import queue out of `sc-network`

Add supplementary asynchronous API for the import queue which means
it can be run as an independent task and communicated with through
the `ImportQueueService`.

This commit removes removes block and justification imports from
`sc-network` and provides `ChainSync` with a handle to import queue so
it can import blocks and justifications. Polling of the import queue is
moved complete out of `sc-network` and `sc_consensus::Link` is
implemented for `ChainSyncInterfaceHandled` so the import queue
can still influence the syncing process.

* Fix tests

* Apply review comments

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <[email protected]>

* Update client/network/sync/src/lib.rs

Co-authored-by: Bastian Köcher <[email protected]>

Co-authored-by: Bastian Köcher <[email protected]>

* Trace response payload in default `jsonrpsee` middleware (#12886)

* Trace result in default `jsonrpsee` middleware

* `rpc_metrics::extra`

Co-authored-by: Bastian Köcher <[email protected]>

Co-authored-by: Bastian Köcher <[email protected]>

* Ensure that we inform all tasks to stop before starting the 60 seconds shutdown (#12897)

* Ensure that we inform all tasks to stop before starting the 60 seconds shutdown

The change of waiting in maximum 60 seconds for the node to shutdown actually introduced a bug. We
were actually waiting always 60 seconds as we didn't informed our tasks to shutdown. The solution to
this problem is to drop the task manager as this will then inform all tasks to end. It also adds
tests to ensure that the behaviors work as expected. (This should already have been done in the
first pr! :()

* ".git/.scripts/fmt.sh" 1

Co-authored-by: command-bot <>

* Safe desired targets call (#12826)

* checked call for desired targets

* fix compile

* fmt

* fix tests

* cleaner with and_then

* Fix typo (#12900)

* ValidateUnsigned: Improve docs. (#12870)

* ValidateUnsigned: Improve docs.

* Review comments

* rpc server with HTTP/WS on the same socket (#12663)

* jsonrpsee v0.16

add backwards compatibility

run old http server on http only

* cargo fmt

* update jsonrpsee 0.16.1

* less verbose cors log

* fix nit in log: WS -> HTTP

* revert needless changes in Cargo.lock

* remove unused features in tower

* fix nits; add client-core feature

* jsonrpsee v0.16.2

* `pallet-message-queue`: Fix license (#12895)

* Fix license

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add mock doc

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use explicit call indices (#12891)

* frame-system: explicit call index

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use explicit call indices

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* pallet-template: explicit call index

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* DNM: Temporarily require call_index

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Revert "DNM: Temporarily require call_index"

This reverts commit c4934e3.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Pin canonincalized block (#12902)

* Remove implicit approval chilling upon slash. (#12420)

* don't read slashing spans when taking election snapshot

* update cargo.toml

* bring back remote test

* fix merge stuff

* fix npos-voters function sig

* remove as much redundant diff as you can

* Update frame/staking/src/pallet/mod.rs

Co-authored-by: Andronik <[email protected]>

* fix

* Update frame/staking/src/pallet/impls.rs

* update lock

* fix all tests

* review comments

* fmt

* fix offence bench

* clippy

* ".git/.scripts/bench-bot.sh" pallet dev pallet_staking

Co-authored-by: Andronik <[email protected]>
Co-authored-by: Ankan <[email protected]>
Co-authored-by: command-bot <>

* bounties calls docs fix (#12909)

Co-authored-by: parity-processbot <>

* pallet-contracts migration pre-upgrade fix for v8 (#12905)

* Only run pre-v8 migration check for versions older than 8

* Logix fix

* use custom environment for publishing crates (#12912)

* [contracts] Add debug buffer limit + enforcement (#12845)

* Add debug buffer limit + enforcement

Add debug buffer limit + enforcement

* use BoundedVec for the debug buffer

* revert schedule (debug buf len limit not needed anymore)

* return DispatchError

* addressed review comments

* frame/remote-externalities: Fix clippy

Signed-off-by: Alexandru Vasile <[email protected]>

* frame/rpc: Add previous export

Signed-off-by: Alexandru Vasile <[email protected]>

* Fixup some wrong dependencies (#12899)

* Fixup some wrong dependencies

Dev dependencies should not appear in the feature list. If features are required, they should be
directly enabled for the `dev-dependency`.

* More fixups

* Fix fix

* Remove deprecated feature

* Make all work properly and nice!!

* FMT

* Fix formatting

* add numerator and denominator to Rational128 Debug impl and increase precision of float representation (#12914)

* Fix state-db pinning (#12927)

* Pin all canonicalized blocks

* Added a test

* Docs

* [ci] add job switcher (#12922)

Signed-off-by: Alexandru Vasile <[email protected]>
Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>
Co-authored-by: Vlad <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Anthony Alaribe <[email protected]>
Co-authored-by: Gavin Wood <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Robert Klotzner <[email protected]>
Co-authored-by: Michal Kucharczyk <[email protected]>
Co-authored-by: Aaro Altonen <[email protected]>
Co-authored-by: tgmichel <[email protected]>
Co-authored-by: Ankan <[email protected]>
Co-authored-by: Luke Schoen <[email protected]>
Co-authored-by: Niklas Adolfsson <[email protected]>
Co-authored-by: Arkadiy Paronyan <[email protected]>
Co-authored-by: Kian Paimani <[email protected]>
Co-authored-by: Andronik <[email protected]>
Co-authored-by: Ankan <[email protected]>
Co-authored-by: Muharem Ismailov <[email protected]>
Co-authored-by: Dino Pačandi <[email protected]>
Co-authored-by: João Paulo Silva de Souza <[email protected]>
Co-authored-by: Sasha Gryaznov <[email protected]>
Co-authored-by: Alexander Popiak <[email protected]>
Co-authored-by: Alexander Samusev <[email protected]>
  • Loading branch information
1 parent 59a11d6 commit 4ce770a
Show file tree
Hide file tree
Showing 211 changed files with 6,766 additions and 1,802 deletions.
9 changes: 8 additions & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,14 @@ default:
paths:
- artifacts/

.job-switcher:
before_script:
- if echo "$CI_DISABLED_JOBS" | grep -xF "$CI_JOB_NAME"; then echo "The job has been cancelled in CI settings"; exit 0; fi

.kubernetes-env:
image: "${CI_IMAGE}"
before_script:
- !reference [.job-switcher, before_script]
tags:
- kubernetes-parity-build

Expand All @@ -95,6 +101,7 @@ default:

.pipeline-stopper-vars:
script:
- !reference [.job-switcher, before_script]
- echo "Collecting env variables for the cancel-pipeline job"
- echo "FAILED_JOB_URL=${CI_JOB_URL}" > pipeline-stopper.env
- echo "FAILED_JOB_NAME=${CI_JOB_NAME}" >> pipeline-stopper.env
Expand All @@ -110,6 +117,7 @@ default:
before_script:
# TODO: remove unset invocation when we'll be free from 'ENV RUSTC_WRAPPER=sccache' & sccache itself in all images
- unset RUSTC_WRAPPER
- !reference [.job-switcher, before_script]
- !reference [.rust-info-script, script]
- !reference [.rusty-cachier, before_script]
- !reference [.pipeline-stopper-vars, script]
Expand Down Expand Up @@ -300,7 +308,6 @@ rusty-cachier-notify:
PR_NUM: "${PR_NUM}"
trigger:
project: "parity/infrastructure/ci_cd/pipeline-stopper"
branch: "as-improve"

remove-cancel-pipeline-message:
stage: .post
Expand Down
Loading

0 comments on commit 4ce770a

Please sign in to comment.