* Sync: Improve major sync detection
When we still have a full import queue, we should still report that we are in major sync mode,
otherwise validators may will already start producing blocks.
* Use median
* Review comments
* Introduce `rusty-cachier`
* Return LF at the end of file
* Use `entrypoint` to `unshare(1)` into a new mount namespace
* Use `rusty-cachier`-provided absolute path for `CARGO_TARGET_DIR` everywhere
* Debug single `build-rustdoc` job
* CI: debug
* CI: debug
* CI: debug
* `unshare(1)` is no longer needed
* CI: remove debug
* Revert "Debug single `build-rustdoc` job"
* Formatiing
* Update scripts/ci/gitlab/pipeline/build.yml
Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
* change impl FnOnce() to generic type + trait bound
with_transaction() function can not be used with explicit generic arguments because of this issue: https://github.com/rust-lang/rust/issues/83701
* make the same changes elsewhere
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
We are awaiting on the oneshot anyways, so we have back pressure. By
using the unbounded channel make log messages like the following less
likely (due to higher priority):
2022-05-30 13:46:38
2022-05-30 11:46:38.565 WARN tokio-runtime-worker parachain::provisioner: failed to assemble or send inherent data err=CanceledBackedCandidates(Canceled)
* bringing back repo checkout and adding a temp dir to avoid name duplication between binary and repo dir
* added hash to the action
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
* adjusted extrinsic ordering action
* addressed comments from PR
* addressed comments from PR
* variables reoredering
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
* Add some meaningful logging to the force approval to understand why it fails
* Add original block into the log to simplify logs lurking
* Update node/core/approval-voting/src/import.rs
Co-authored-by: asynchronous rob <rphmeier@gmail.com>
Co-authored-by: asynchronous rob <rphmeier@gmail.com>
* deleted unnecessary repo checkout to fix fetch binary step
* Update .github/workflows/extrinsic-ordering-check-from-bin.yml
Co-authored-by: Mara Robin B. <mara@broda.me>
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
Co-authored-by: Mara Robin B. <mara@broda.me>
* Fix node lookup on fork-tree after a warp-sync
After a warp-sync, the error condition was triggered by the absence
of the parent node of the first imported block.
The previous lookup implementation was traversing the tree using a
recursive **post-order** DFS, this technique doesn't trigger the issue.
In the last iterative implementation we were using a BFS instead.
* Added internal doc warning
* Small optimization
* Specify post-order DFS in the comment
* Introduce `WeightToFee` trait instead of `WeightToFeePolynomial` and make `WeightToFeePolynomial` implement it instead
* Rename `WeightToFee::calc()` to `WeightToFee::wight_to_fee()`
* Fix typo
* Fix Babe revert when a leaf is the last finalized block
Without this fix the last finalized block weight data is wrongly removed
on revert scenario where the last finalized block is a leaf.
* Remove redundant check
* Added test to exercise the fix
* Rename test
* Give variables better names
The westend runtime was missing the fast runtime for `EpochDuration`
which caused the epoch be 1 hour which isn't fast.
This PR changes the `EpochDuration` to 2 minutes when `--fast-runtime`
is enabled, the same as polkadot and kusama.
* on_initialize -> on_idle
* use remaining_weight info
* no weight_limit for on_idle
* call on_idle in tests
* attempt to fix tests
* run on_initiaize when queue full
* add on_idle to weight info
* add on_idle weight info to on_idle hook
* add basic test for on_initialize with full queue
* disbale check for all keys gone in full queue, full block test
* queue_deth as usize, add comment
* comment was removed by accident
* Update frame/contracts/src/lib.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
* cargo +nightly fmt
* update lazy_removal_does_no_run_on_full_queue_and_full_block
* remove changes in weights.rs
* weights on_idle -> on_process_deletion_queue_batch
* use block number for on_idle
* use BlockNumber for on_initialize
* cargo run --quiet --profile=production --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark pallet --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
* Update frame/contracts/src/lib.rs
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
* remove outcommented code
* add check that queue still full for test
* cargo fmt
* cargo +nightly fmt
* Update frame/contracts/src/benchmarking/mod.rs
Co-authored-by: Alexander Gryaznov <hi@agryaznov.com>
* fix weights.rs
* add lazy_removal_does_no_run_on_low_remaining_weight test
* Apply suggestions from code review
Co-authored-by: Alexander Gryaznov <hi@agryaznov.com>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
Co-authored-by: Parity Bot <admin@parity.io>
Co-authored-by: Alexander Gryaznov <hi@agryaznov.com>