Commit Graph

1513 Commits

Author SHA1 Message Date
Tsvetomir Dimitrov 12dd927798 Replace RollingSessionWindow in approval-voting with RuntimeInfo (#7123)
* Replace `RollingSessionWindow` with `RuntimeInfo` - initial commit

* Fix tests in import

* Fix the rest of the tests

* Remove dead code

* Fix todos

* Simplify session caching

* Comments for `SessionInfoProvider`

* Separate `SessionInfoProvider` from `State`

* `cache_session_info_for_head` becomes freestanding function

* Remove unneeded `mut` usage

* fn session_info -> fn get_session_info() to avoid name clashes. The function also tries to initialize `SessionInfoProvider`

* Fix SessionInfo retrieval

* Code cleanup

* Don't wrap `SessionInfoProvider` in an `Option`

* Remove `earliest_session()`

* Remove pre-caching -> wip

* Fix some tests and code cleanup

* Fix all tests

* Fixes in tests

* Fix comments, variable names and small style changes

* Fix a warning

* impl From<SessionWindowSize> for NonZeroUsize

* Fix logging for `get_session_info` - remove redundant logs and decrease log level to DEBUG

* Code review feedback
2023-05-12 15:11:10 +02:00
Arkadiy Paronyan 3b91d77847 Bump parity-db (#7209) 2023-05-12 10:44:30 +02:00
Aaro Altonen f86c9fcc44 Companion for paritytech/substrate#14080 (#7184)
* Companion for paritytech/substrate#14080

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-05-11 11:08:04 +00:00
Tsvetomir Dimitrov c1952fcc62 Bump kvdb-rocksdb (#7212)
* Bump `kvdb-rocksdb`

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-05-10 14:55:10 +00:00
Chris Sosnin 9c08536d5f paras: dismiss pvf_checking_enabled configuration (#7138)
* paras: unconditionally precheck pvfs

* Update integration tests

* paras_registrar tests

* runtime benchmark tests

* fix bench

* bypass prechecking in test node

* adjust bench

* ".git/.scripts/commands/bench/bench.sh" runtime polkadot runtime_parachains::paras

* ".git/.scripts/commands/bench/bench.sh" runtime kusama runtime_parachains::paras

* ".git/.scripts/commands/bench/bench.sh" runtime rococo runtime_parachains::paras

* ".git/.scripts/commands/bench/bench.sh" runtime westend runtime_parachains::paras

* use test helper

* fix new test

---------

Co-authored-by: command-bot <>
2023-05-08 18:58:55 +00:00
Oliver Tale-Yazdi 580111dd98 Tests can use dbg macro (#7197)
There is a deny(clippy::dbg_macro) in the crate root, so newer
Clippy fails here since tests use dbg.
But dbg in tests are fine IMHO.

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-05-08 16:48:04 +00:00
Niklas Adolfsson 3d32afa608 companion for #14088 (#7192)
* companion for #14088

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-05-07 20:16:03 +00:00
Andrei Sandu 2ca3750f0f Prefer fetching small PoVs from backing group (#7173)
* impl QueryChunkSize

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* QueryChunkSize message

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* enable fetching from backing group for small pov

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* review feedback

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Refactor `bypass_availability_store`

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* review feedback

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2023-05-05 09:56:54 +00:00
Stakeworld 4c88b30ee4 Add stakeworld bootnodes for polkadot, kusama and westend (#7148) 2023-05-04 21:07:46 +00:00
Davide Galassi f6a743dadc Companion for substrate #14036 (#7145)
* Companion for substrate #14036

* Rollback of some trivial renamings

* update lockfile
2023-05-04 16:46:43 +02:00
Bulat Saifullin 87159f8a73 Update wococo chainspec (#7018) 2023-05-04 12:15:45 +00:00
Arkadiy Paronyan cf0af0424e [companion for #13701] Statement-store (#6995)
* Set data_path

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-05-04 11:03:30 +00:00
Niklas Adolfsson dcbf8b70f7 companion for #13384 (#6987)
* companion for #13384

* adjust parsing RPC address from process output

* update rpc cli

* update lockfile for {"substrate"}

* bump zombienet v1.3.48

* bump zombienet version

* allow zombienet-tests-misc-upgrade-node to fail

* add comment and issue link to allowed_failure

* grumbles: disable failed job

* disabled the correct test

---------

Co-authored-by: parity-processbot <>
Co-authored-by: Javier Viola <javier@parity.io>
2023-05-04 11:48:08 +02:00
Sebastian Kunert 0ae0393042 Add option to skip av-store requests in availability-recovery-subsystem (#7131)
* Allow to skip availability-store

* Update node/network/availability-recovery/src/lib.rs

Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>

---------

Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
2023-04-28 10:13:04 +00:00
ordian 703009fb39 malus: dont panic on missing validation data (#6952)
* malus: don't panic if can't fetch validation data

* malus: add fast-runtime feature
2023-04-26 14:03:26 +00:00
eskimor 33dd2584df Fix stalling dispute coordinator. (#7125)
* Fix stalling dispute coordinator.

* Initialization.

---------

Co-authored-by: eskimor <eskimor@no-such-url.com>
2023-04-25 16:42:45 +02:00
Andrei Sandu 634b2f6ad2 Fix rolling session window (#7126)
* Use stored sessions 🤦

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Add test

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* remove redundant

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2023-04-24 18:14:36 +00:00
Tsvetomir Dimitrov 3f4ce6326f Rework dispute-coordinator to use RuntimeInfo for obtaining session information instead of RollingSessionWindow (#6968)
* Pass `SessionInfo` directly to `CandidateEnvironment::new` otherwise it should be an async function

* Replace calls to `RollingSessionWindow` with `RuntimeInfo`

Adjust `dispute-coordinator` initialization to use `RuntimeInfo`

* Modify `dispute-coordinator` initialization

* Pass `Hash` to `process_on_chain_votes` so that `RuntimeInfo` calls can be made

Remove some fixmes

* Pass `Hash` to `handle_import_statements` to perform `RuntimeInfo` calls

* remove todo comments

* Remove `error` from `Initialized`

Rework new session handling code

* Remove db code which is no longer used

* Update stale comment and remove unneeded type specification

* Cache SessionInfo on startup

* Use `DISPUTE_WINDOW` from primitives

* Fix caching in `process_active_leaves_update`

* handle_import_statements: leaf_hash -> block_hash

* Restore `ensure_available_session_info`

* Don't interrupt `process_on_chain_votes` if SessionInfo can't be fetched

* Small style improvements in logging

* process_on_chain_votes: leaf_hash -> block_hash

* Restore `note_earliest_session` - it is required to prune disputes and votes

* Cache new sessions only when there is an actual session change

* Fix tests

* `CandidateEnvironment::new` gets `session_idx` and fetches SessionInfo by itself to avoid the invariant where the input SessionIndex and SessionInfo parameters don't match

* Fix handling of missing session info

* Move sessions caching in `handle_startup` and fix tests

* Load `relay_parent` from db in `handle_import_statements` instead of passing it as a parameter via two functions

* Don't do two db reads

* Fix the twisted logic in `handle_import_statements`

* fixup

* Small style fix

* Decrease log levels for caching errors to debug and fix a typo

* Update outdated comment

* Remove `ensure_available_session_info`

* Load relay parent from db in `process_on_chain_votes`

* Revert "Load relay parent from db in `process_on_chain_votes`"

This reverts commit 978ad4f223d517faa7a7fbad96e3f8de4fa17501.

* Keep track of highest seen session and last session cached without gaps.

* Apply suggestions from code review

Co-authored-by: ordian <write@reusable.software>

* Handle session caching failure on startup correctly

* Update node/core/dispute-coordinator/src/initialized.rs

Co-authored-by: ordian <write@reusable.software>

* Simplify session caching retries

* Update stale comment

* Fix lower bound calculation for session caching

---------

Co-authored-by: ordian <write@reusable.software>
2023-04-24 12:27:44 +00:00
ordian 439ab875dc update rocksdb to 0.20.1 (#7113)
* update rocksdb to 0.20.1

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-04-21 20:37:42 +00:00
Marcin S e277f95b3b PVF: Move PVF workers into separate crate (#7101)
* Move PVF workers into separate crate

* Fix indentation

* Fix compilation errors

* Fix more compilation errors

* Rename `worker.rs` files, make host interface to worker more clear

* Fix more compilation errors

* Fix more compilation errors

* Add link to issue

* Address review comments

* Update comment
2023-04-21 10:40:09 +00:00
Marcin S 0940cdd1d7 PVF: Don't dispute on missing artifact (#7011)
* PVF: Don't dispute on missing artifact

A dispute should never be raised if the local cache doesn't provide a certain
artifact. You can not dispute based on this reason, as it is a local hardware
issue and not related to the candidate to check.

Design:

Currently we assume that if we prepared an artifact, it remains there on-disk
until we prune it, i.e. we never check again if it's still there.

We can change it so that instead of artifact-not-found triggering a dispute, we
retry once (like we do for AmbiguousWorkerDeath, except we don't dispute if it
still doesn't work). And when enqueuing an execute job, we check for the
artifact on-disk, and start preparation if not found.

Changes:

- [x] Integration test (should fail without the following changes)
- [x] Check if artifact exists when executing, prepare if not
- [x] Return an internal error when file is missing
- [x] Retry once on internal errors
- [x] Document design (update impl guide)

* Add some context to wasm error message (it is quite long)

* Fix impl guide

* Add check for missing/inaccessible file

* Add comment referencing Substrate issue

* Add test for retrying internal errors

---------

Co-authored-by: parity-processbot <>
2023-04-20 13:38:31 +00:00
Marcin S b3e2153f2f pvf: Update docs for PVF artifacts (#6551)
* pvf: Update docs for PVF artifacts

* pvf: Clarify doc re. node start-up
2023-04-19 16:08:01 +00:00
dependabot[bot] 116619661f Bump syn from 2.0.14 to 2.0.15 (#7093)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.14 to 2.0.15.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/2.0.14...2.0.15)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 13:35:59 +00:00
Joakim Nyman 7f249faf5a Added Dwellir Nigeria bootnodes. (#7097) 2023-04-19 10:13:30 +00:00
Davide Galassi 83fb51a21c Companion for Substrate #13889 (#7063)
* Companion for substrate #13889

* Remove leftover

* Remove removed dependency

* Remove sp-consensus-vrf from lock

* Revert "Remove sp-consensus-vrf from lock"

This reverts commit 2269ca1e32df89272e8fd4544292204db387f436.

* Fix after substrate modifications

* Fix tests to use new VRF Signature type

* Don't rely of Deref trait

* Fix test

* Further code simplification

* Reuse garbage_vrf_signature

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-04-19 09:43:42 +00:00
Artyom Bakhtin bef85c32be Switch to DNS name based bootnodes for Rococo (#7040)
* Switch to DNS name based bootnodes for Rococo

Signed-off-by: bakhtin <a@bakhtin.net>

* Switch Rococo bootnodes from WS to WSS

Signed-off-by: bakhtin <a@bakhtin.net>

---------

Signed-off-by: bakhtin <a@bakhtin.net>
2023-04-19 10:50:01 +02:00
André Silva 8d1603e38d companion for substrate#13883 (#7059)
* companion for substrate#13883

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-04-18 10:25:03 +00:00
dependabot[bot] bf9497e874 Bump serde_json from 1.0.85 to 1.0.96 (#7072)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.85 to 1.0.96.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.85...v1.0.96)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-17 18:10:54 +00:00
dependabot[bot] aa93b50120 Bump hex-literal from 0.3.4 to 0.4.1 (#7071)
Bumps [hex-literal](https://github.com/RustCrypto/utils) from 0.3.4 to 0.4.1.
- [Release notes](https://github.com/RustCrypto/utils/releases)
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.3.4...hex-literal-v0.4.1)

---
updated-dependencies:
- dependency-name: hex-literal
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-17 18:48:35 +02:00
Koute 59054bd466 Use MaybeUninit when calling getrusage (musl compatibility) (#7086) 2023-04-17 06:44:08 +00:00
Alexandru Vasile f23f0ef8b9 sc_executor: Use new_with_wasm_executor instead of deprecated new method (#7055)
* node: Replace deprecated versions of sc_executor

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update cargo.lock via `cargo update -p sc-executor`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update Cargo.lock with latest substrate

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* node: Replace `new` with `new_with_wasm_executor`

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

* Update substrate to latest

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>

---------

Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
2023-04-13 14:53:25 +03:00
Andrei Sandu ecb6523b5c approval distribution: trigger assignment/votes resend based on approval checking lag (#7038)
* Send lag update message

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Process ApprovalCheckingLagUpdate

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Comput min age based on lag

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* fix comment

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Fix tests

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Fix test build

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Make the spawnhandle optional

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* remove unused

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2023-04-13 10:10:53 +00:00
Sam Johnson b3070be001 Companion for #13846 (#7022)
* globally upgrade syn to 1.0.109

* globally upgrade quote to 1.0.26

* globally upgrade proc-macro2 to 1.0.56

* globally bump syn to v2.0.13

* update expander to v1.0.0

* temporary commit to prove new version of expander works

(new version hasn't been released yet so using git)

* use expander 2.0.0

* upgrade to syn 2.0.14

* update lock file
2023-04-12 20:42:44 +00:00
Mira Ressel 0e9b0a6421 apply clippy 1.68 suggestions
* Simplify &(ref foo, _) tuple pattern matches
* Drop unneccessary .clone() calls
* Replace .position(cond).is_some() by .any(cond)
* Drop unneccessary lifetime specs
2023-04-11 15:36:21 +02:00
s0me0ne-unkn0wn 64660ee8d2 Remove years from copyright notes (#7034)
* Happy New Year!

* Remove year entierly

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Remove years from copyright notice in the entire repo

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-04-08 20:38:35 +00:00
Tsvetomir Dimitrov 63a805baba Onchain scraper in dispute-coordinator will scrape SCRAPED_FINALIZED_BLOCKS_COUNT blocks before finality (#7013)
* Onchain scraper in `dispute-coordinator` will scrape `SCRAPED_FINALIZED_BLOCKS_COUNT` blocks before finality

The purpose is to make the availability of a `CandidateReceipt` for finalized candidates more likely.

For details see:  https://github.com/paritytech/polkadot/issues/7009

* Fix off by one error

* Replace `SCRAPED_FINALIZED_BLOCKS_COUNT` with `DISPUTE_CANDIDATE_LIFETIME_AFTER_FINALIZATION`
2023-04-07 20:34:09 +00:00
Marcin S 5889119fc9 PVF: Minor refactor in workers code (#7012)
* Move version check to `worker_event_loop`

* More minor refactors

- More consistent use of `format_invalid` and `format_internal`.
- Fix a doc error.
- Fix some poorly-named local variables.
2023-04-07 10:14:53 +00:00
s0me0ne-unkn0wn 8fd05b62bc Expose WASM bulk memory extension in execution environment parameters (#7008) 2023-04-05 22:01:31 +00:00
s0me0ne-unkn0wn b47d5ee23b Companion for paritytech/substrate#13811 (#6998)
* Companion for paritytech/substrate#13811

* Add comment

* update lockfile for {"substrate"}

* Update Substrate

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

* Fix pallet weight warnings

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: parity-processbot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-04-04 18:53:13 +00:00
Bastian Köcher 2354161f57 Substrate companion: Remove deprecated batch verification (#6999)
* Substrate companion: Remove deprecated batch verification

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-04-04 10:33:07 +00:00
Tsvetomir Dimitrov 3ab60efc26 Cache SessionInfo on new activated leaf in dispute-distribution (#6993)
* Cache `SessionInfo` on new activated leaf in `dispute-distribution`

* Update node/network/dispute-distribution/src/sender/mod.rs

Co-authored-by: Bastian Köcher <git@kchr.de>

* fmt

* Decrease log level

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
2023-04-03 18:51:31 +02:00
Mattia L.V. Bradascio 713f6625fa Consolidate subsystem spans so they are all children of the leaf-activated root span (#6458)
* Pass the PerLeafSpan as mutable reference to handle_new_head function

* cargo +nightly fmt --all

* Add mock span for test

* cargo +nightly fmt --all

* add new-blocks-hashes to span

* ref span in match statement, set span to disabled if not passed

* remove second match clause, make handle_new_head_span mutable

* cargo +nightly fmt --all

* improve tag on error and warning

* add imported blocks and info span

* cargo +nightly fmt --all

* Improve error for imported_blocks_and_info trace

* format tags on get_header_span

* add lost-to-finality tag

* add missing bracket

* - Add bitfield child span
- Add block db insertion span

* - fix update-bitfield span tag

* - Fix type conversion to u64
- Add missing argument

* - Cargo fmt

* - Test add_follows_from

* - Revert as  relationship between spans not working correctly

* - use drop to test if parent-child relationship can be re-established

* - remove bitfield span, check if parent-child relationship can be reestablished

* - Remove dangling bitfield span which is not used, to see if parent-child relationship can be re-established

* Another dangling bitfield span

* cargo fmt

* - add imported blocks and info span
- add candidate span per candidate

* add tags before moving block_header to push scope

* - Add db-insertion span

* cargo fmt

* fix types

* * Pass mutable reference to span in handle_new_head
* Change get-header-span tags in handle_new_head
* Create cache-session-info span in handle_new_head
* Create optional argument in determine_new_blocks
* Pass mutable reference to handle_new_head_span in determine_new_blocks in handle_new_head function
* Add candidate-hash, candidate-number, lost-to-finality tags to candidate_span in handle_new_head function
* Manually drop db_insertion_span and remove superfluous tags  to it, only keeping approved-bitfields tag
* Add ApprovalVoting stage in jaeger

* * Pass mutable reference to jaeger::Span in stead of PerLeafSpan
* Add block-import span

* *Pass optional_span (optional argument) to determine_new_blocks util function

* * Add num-candidates int tag to block_import_span

* * Add head tag to cache_session_span

* * Create PerLeafSpan in handle_from_overseer (this is required to establish parent-child relationship between approval-voting span, and leaf-activated root span)

* * Add candidate-import-span as child of block-import-span
* Add candidate-hash and num-approval tags to candidate-import-span

* * Fix num-candidate tag to bitvec-len tag in candidate-import-span

* *Fix imported_blocKs_and_info span to create new-block-span as not dealing with candidates

* Consider the future::select! block

* Use HashMap<Hash, jaeger::PerLeafSpan>

* Remove Stage 9

* Add missing spans

* cargo +nightly fmt --all

* Remove optional span argument for determine_new_blocks

* * Remove no-longer needed default PerLeafSpan implementation
* Remove no-longer necessary mock span given re-factoring of handle_new_head() no longer neeing mutable span
* Split validation-result and request-data (availability and validation code) spans into two by dropping request_validation_data_spans
* Remove drop statements for cache_session_info_span
*

* Remove unnecessary span

* Remove another excessively spammy span

* Add missing spans from State in import tests

* Use functional approach to get spans

* - Add functional approach for the approval-voting span
- Add doc on block_numbers given labelling ambiguity
- Add span pruning logic
- Use .add_para_id on validation_result_span

* Replace for hash_set in hash_set_iter with map closure

* cargo +nightly fmt --all

* Change from unconsumed `map` to `.for_each`

* cargo +nightly fmt --all

* Refactor add_para_id to validation_result_span

* cargo +nightly fmt --all

* Remove duplicate tag

* Add missing tag to handle-approved-ancestor span

* Refactor span pruning to only invoke retain once

* Typo in span name

* - Replace unwrap_or with unwrap_or_else due to lazy evaluation of trace-identifier in polkadot_node_jaeger
- Remove some redundant spans

* Add approval-distribution spans

* - Add unwrap_or_else on note-approved-in-chain-selection
- Use child_with_trace_id to add traceID string tag on span (note this does not change the traceID, but just adds a tag)

* cargo +nightly fmt --all

* - Add traceID tags were necessary in approval-voting and availability-distribution
- Always use block-hash tag in stead of relay-parent tag in approval-distribution

* Remove schedule-wakeup span as it will duplicate spans on existing wakeups (which should be a no-op)

* Remove a couple of warnings related to mutability

* Fix failing tests in availability distribution

* Add traceID tag to launch-approval and validation-result

* Reshuffle the validation and validation result spans to where more appropriate and add block-hash tag

* - Add tranche and should-trigger tag to process-wakeup span
- Add candidate-hash and traceID to check-and-import-approval span

* cargo fmt

* - Adjustments after PR comments

* Move span pruning after other pruning logic

* Remove DerefMut - no longer needed

* Relabel request-chunk spans

* - Fix typo in span label
- Add docs for drops

* Add new approval-voting span pruning logic

* Undo removal of !

* cargo fmt
2023-03-31 15:54:19 +00:00
Bradley Olson f7bd3a95a0 Drop timers for new requests of active participations (#6974)
* First pass adding logs

* fmt

* Adjustments

* Get rid of extra timers for running participations

* fmt

* Handling timer discards more elegantly
2023-03-30 20:33:25 +00:00
s0me0ne-unkn0wn a946ca2daf Use SIGTERM instead of SIGKILL on PVF worker version mismatch (#6981) 2023-03-30 21:41:54 +02:00
s0me0ne-unkn0wn 55b4aceb99 Check spawned worker version vs node version before PVF preparation (#6861)
* Check spawned worker version vs node version before PVF preparation

* Address discussions

* Propagate errors and shutdown preparation and execution pipelines properly

* Add logs; Fix execution worker checks

* Revert "Propagate errors and shutdown preparation and execution pipelines properly"

This reverts commit b96cc3160ff58db5ff001d8ca0bfea9bd4bdd0f2.

* Don't try to shut down; report the condition and exit worker

* Get rid of `VersionMismatch` preparation error

* Merge master

* Add docs; Fix tests

* Update Cargo.lock

* Kill again, but only the main node process

* Move unsafe code to a common safe function

* Fix libc dependency error on MacOS

* pvf spawning: Add some logging, add a small integration test

* Minor fixes

* Restart CI

---------

Co-authored-by: Marcin S <marcin@realemail.net>
2023-03-29 22:48:41 +00:00
Oliver Tale-Yazdi faa2d5b09e Fix feature (#6966)
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-03-29 12:00:23 +03:00
Tsvetomir Dimitrov 22f404f092 Histogram support in runtime metrics (#6935)
* Histogram support in runtime metrics

Add support for histograms to the runtime metrics. Additionally add
`polkadot_parachain_verify_dispute_signature` histogram which tracks the
time needed from the runtime to verify a single validator signature of a
dispute statement.

* Add noops

* u64 instead of f64

* Update buckets

* Wrap `get_current_time()` in runtime metrics

* Change the dimension of the Histogram from usec to sec

* Fix a compilation error

* Update buckets

* Fix `on_signature_check_complete` calculation

* Update buckets

* Update buckets

* formatting

* Another weights update

* Adjust buckets again

* Final buckets adjustment

* Revert "Fix a compilation error"

This reverts commit 06290b40a39eeb78de2602d8916a39edf7a8b714.

* Update primitives/src/v4/metrics.rs

Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>

* Use `saturating_sub` for time difference calculation

* Pass nanoseconds to client instead of seconds (using f64 in runtime is dangerous)

---------

Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
2023-03-28 13:37:19 +00:00
Andrei Sandu fc2cba1805 Subsystem channel tweaks (#6905)
* subsystem tweaks for higher scale

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Adjust queue sizes

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Orchestra 0.0.5

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* cargo lock

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

---------

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
2023-03-24 17:19:37 +00:00
Davide Galassi 260d073658 Companion for #13683 (#6944)
* Companion for #13683

* Wraps trait is not required

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>
2023-03-24 14:43:21 +00:00
Tsvetomir Dimitrov 95f0ca271e Bump parity-scale-codec to v 3.4.0 (#6945) 2023-03-23 15:15:03 +00:00