Commit Graph

1400 Commits

Author SHA1 Message Date
Bastian Köcher c74537fefd Do not spam when we can not send a message to a job (#2084)
* Do not spam when we can not send a message to a job

There are legal reasons why a job ended. If a job failed, the error is
logged. So, we don't need to log an error when we can not send a message
to a job.

* Review feedback
2020-12-07 21:57:49 +01:00
Bastian Köcher 79a5b12dc1 Rework ConnectionsRequests (#2081)
* Rework `ConnectionsRequests`

Instead of implementing the `Stream` trait, this struct now provides a
function `next()`. This enables us to encode into the type system that
it will always return a value or block indefinitely.

* Review feedback
2020-12-07 11:47:31 -06:00
Martin Pugh 52537f3621 Bump substrate, and bump version to v0.8.27 (#2082)
* Bump version from v0.8.26 to v0.8.27

* bump substrate
2020-12-07 17:32:32 +01:00
dependabot[bot] 5294f2b302 Bump serde from 1.0.117 to 1.0.118 (#2075)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.117 to 1.0.118.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.117...v1.0.118)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 16:07:29 +01:00
Bastian Köcher d7047578e9 Fix tests on master (#2080)
Because of a bug in the test script, we didn't stopped CI when the main
tests are failed.
2020-12-07 14:47:39 +00:00
Martin Pugh f4a6f9d9b2 Update release documentation + checklist (#2079)
* add instructions for extrinsic verification

* update release documentation
2020-12-07 13:46:35 +01:00
dependabot[bot] 286924fc2b Bump smallvec from 1.5.0 to 1.5.1 (#2076)
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.5.0...v1.5.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-07 12:28:40 +01:00
Bastian Köcher f619cdbb47 Add an upper number of maximum parallel runtime api requests (#2069)
* Add an upper number of maximum parallel runtime api requests

Instead of spawning all runtime api requests in the background and using
all wasm instances. This pr adds a maximum number of parallel requests.

* Update node/core/runtime-api/src/lib.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>

* Review feedback

* Increase instances

* Add warning

* Update node/core/runtime-api/src/lib.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-12-04 21:23:56 +00:00
Sergei Shulepov ad32069b22 Add tracing for candidate validation failures in backing (#2071) 2020-12-04 19:28:33 +01:00
Sergei Shulepov 62a95fc602 Sudo utility for establishing an HRMP channel (#2067)
* Clean up of visibility of helper fns

* Document HRMP channel dispatchables

* Provide the sudo_establish_hrmp_channel dispatchable function

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-12-04 13:19:01 +00:00
郭光华 9014232903 Useless modules and misspellings (#2068) 2020-12-04 12:16:14 +00:00
Peter Goodspeed-Niklaus e7e9605f87 do not store backed candidates in the provisioner (#1909)
* guide: non-semantic changes

* guide: update per the issue description

* GetBackedCandidates operates on multiple hashes now

* GetBackedCandidates still needs a relay parent

* implement changes specified in guide

* distinguish between various occasions for canceled oneshots

* add tracing info to getbackedcandidates

* REVERT ME: add tracing messages for GetBackedCandidates

Note that these messages are only sometimes actually passed on to the
candidate backing subsystem, with the consequence that it is
unexpectedly frequent that the provisioner fails to create its
provisionable data.

* REVERT ME: more tracing logging

* REVERT ME: log when CandidateBackingJob receives any message at all

* REVERT ME: log when send_msg sends a message to a job

* fix candidate-backing tests

* streamline GetBackedCandidates

This uses table.attested_candidate instead of table.get_candidate, because
it's not obvious how to get a BackedCandidate from just a
CommittedCandidateReceipt.

* REVERT ME: more logging tracing job lifespans

* promote warning about job premature demise

* don't terminate CandiateBackingJob::run_loop in event of failure to process message

* Revert "REVERT ME: more logging tracing job lifespans"

This reverts commit 7365f2fb3dec988d95cfcd317eba75587fe7fd16.

* Revert "REVERT ME: log when send_msg sends a message to a job"

This reverts commit 58e46aad038e6517d6d56390c8be65b046a21884.

* Revert "REVERT ME: log when CandidateBackingJob receives any message at all"

This reverts commit 0d6f38413c7c66b5e9e81dabc587906fa9f82656.

* Revert "REVERT ME: more tracing logging"

This reverts commit 675fd2628e84d1596965280e7314155ef21b28e6.

* Revert "REVERT ME: add tracing messages for GetBackedCandidates"

This reverts commit e09e156493430b33b6c8ab4b5cedb3f2f91afd51.

* formatting

* add logging message to CandidateBackingJob::run_loop start

* REVERT ME: add tracing to candidate-backing job creation

* run candidatebacking loop even if no assignment

* use unique error variants for each canceled oneshot

* Revert "REVERT ME: add tracing to candidate-backing job creation"

This reverts commit 8ce5f4f0bd7186dade134b118751480f72ea1fd6.

* try_runtime_api more to reduce silent exits

* add sanity check that returned backed candidates preserve ordering

* remove redundant err attribute
2020-12-04 11:24:59 +01:00
mattrutherford 16a43d9e93 companion for substrate#7474 (#1985)
* include new parameter in test `Configuration`

* update calls to `init_logger`

* "Update Substrate"

* cargo update -p sp-io

Co-authored-by: Matt <mattrutherford@users.noreply.github.com>
Co-authored-by: parity-processbot <>
2020-12-03 15:32:56 +01:00
dependabot[bot] 3f4d405a30 Bump color-eyre from 0.5.8 to 0.5.10 (#2066)
Bumps [color-eyre](https://github.com/yaahc/color-eyre) from 0.5.8 to 0.5.10.
- [Release notes](https://github.com/yaahc/color-eyre/releases)
- [Changelog](https://github.com/yaahc/color-eyre/blob/v0.5.10/CHANGELOG.md)
- [Commits](https://github.com/yaahc/color-eyre/compare/v0.5.8...v0.5.10)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-03 08:27:29 +01:00
dependabot[bot] 76169aef3d Bump serde_json from 1.0.59 to 1.0.60 (#2065)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.59 to 1.0.60.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.59...v1.0.60)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-03 07:25:44 +00:00
Shawn Tabrizi c01e7c0aa1 Update lib.rs (#2064) 2020-12-03 07:40:14 +01:00
Kian Paimani 54061cd815 Fix locked ksm in council votes. (#1832)
* Fix locked ksm in council votes.

* Fix accuracy.

* use exact values.

* Fix build
2020-12-02 19:48:30 +01:00
Pierre Krieger cb17a8d47f Companion PR for removing register notif protocol (#2048)
* Companion PR for removing register notif protocol

* Missing .into()

* "Update Substrate"

Co-authored-by: parity-processbot <>
2020-12-02 17:00:26 +00:00
Andronik Ordian 87e0b6fe65 remove unused code (#2058) 2020-12-02 14:18:18 +00:00
Bastian Köcher 890ae589d4 Make it possible for the adder collator to calculate any state (#2056)
* Make it possible for the adder collator to calculate any state

This is very useful for when wanting to have multiple running or when
wanting to restart the collator.

* Update parachain/test-parachains/adder/collator/src/lib.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-12-02 14:15:30 +00:00
Robert Habermeier 709f990fb2 be more careful about fusing in select! (#2052) 2020-12-02 14:52:51 +01:00
Bastian Köcher b13052de12 Use correct logging target for network bridge (#2057) 2020-12-02 13:00:23 +00:00
dependabot[bot] 26b8dbe120 Bump wasm-bindgen-futures from 0.4.18 to 0.4.19 (#2054)
Bumps [wasm-bindgen-futures](https://github.com/rustwasm/wasm-bindgen) from 0.4.18 to 0.4.19.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-02 08:54:36 +01:00
Robert Habermeier 9071120de1 guide: Availability Recovery (#2011)
* expand description

* basics of availability recovery

* finish availability recovery

* fill out missing text

* Update roadmap/implementers-guide/src/node/availability/availability-recovery.md

Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>

* fix signal handling

Co-authored-by: Fedor Sakharov <fedor.sakharov@gmail.com>
2020-12-01 14:58:31 -05:00
Fedor Sakharov d5a39dffef Cadidate selection check assignment (#2042)
* Cadidate selection check assignment

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>

* Review fixes

* Punish collator for wrong announcements

* Update node/core/candidate-selection/src/lib.rs

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2020-12-01 13:43:00 -05:00
Sergei Shulepov 917a5cce62 adder-collator cli flags (#2051)
* Accept --parachain-id in adder-collator

* adder-collator: Support a file chainspec

This change is to make it more similar to what we have in cumlus.
2020-12-01 19:20:20 +01:00
Sergei Shulepov e8c43576d4 execute_with_client: add 'static bound for Backend (#2049)
This is not a big change since the user definition AbstractClient already is 'static.
2020-12-01 14:22:24 +00:00
dependabot[bot] 36c11201cc Bump wasm-bindgen from 0.2.68 to 0.2.69 (#2044)
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) from 0.2.68 to 0.2.69.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.68...0.2.69)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-01 13:18:30 +01:00
dependabot[bot] 9d961e2023 Bump structopt from 0.3.20 to 0.3.21 (#2046)
Bumps [structopt](https://github.com/TeXitoi/structopt) from 0.3.20 to 0.3.21.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.3.20...v0.3.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-01 09:41:36 +01:00
Robert Habermeier 414acdfc54 small improvements for parachains consensus (#2040)
* introduce a waiting period before selecting candidates and bitfields

* add network_bridge=debug tracing for rep

* change to 2.5s timeout in proposer

* pass timeout to proposer

* move timeout back to provisioner

* grumbles

* Update node/core/provisioner/src/lib.rs

* Fix nitpicks

* Fix bug

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
2020-11-30 22:52:30 +01:00
Robert Habermeier 0f4395fc44 parachains runtime: configurable maximum validators per core (#2043)
* parachains runtime: configurable maximum validators per core

* update guide and add test
2020-11-30 20:18:02 +00:00
Pierre Krieger 8081c54428 Update Substrate again (#2041) 2020-11-30 19:26:44 +01:00
Robert Habermeier 1008465413 Move candidate validation to the background (#2028)
* refactor some functions to not rely on `self`

* factor out common elements of seconding and attesting

* Add Spawn to backing FromJob

* do candidate validation in background

* tests

* address grumbles
2020-11-30 17:01:03 +00:00
Bastian Köcher 536dceb4f6 Simplify subsystem jobs (#2037)
* Simplify subsystem jobs

This pr simplifies the subsystem jobs interface. Instead of requiring an
extra message that is used to signal that a job should be ended, a job
now ends when the receiver returns `None`. Besides that it changes the
interface to enforce that messages to a job provide a relay parent.

* Drop ToJobTrait

* Remove FromJob

We always convert this message to FromJobCommand anyway.
2020-11-30 17:01:26 +01:00
Guillaume Thiolliere 2d4aa3a42e Companion: Rename pallet trait Trait to Config (#2014)
* rename Trait -> Config

* revert diener changes

* rename HostConfig to ActiveConfig as more meaningful

* fix merge

* "Update Substrate"

* cargo update -p sp-io

Co-authored-by: parity-processbot <>
2020-11-30 15:13:43 +00:00
Pierre Krieger 7df537fcdd cargo update -p sp-io (#2038) 2020-11-30 14:47:23 +00:00
Bastian Köcher 9ce186227c Process runtime api requests in the background (#2035)
This pr changes how the runtime api subsystem processes runtime api
requests. Instead of answering all of them in the subsystem task and
thus, making all requests sequential, we now answer them in a background
task. This enables us to serve multiple requests at once.
2020-11-30 10:41:47 +00:00
dependabot[bot] f2606dbd4b Bump nix from 0.19.0 to 0.19.1 (#2033)
Bumps [nix](https://github.com/nix-rust/nix) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/nix-rust/nix/releases)
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.19.0...v0.19.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 10:08:36 +01:00
Andronik Ordian bbb036e304 util: implement FusedStream for Jobs (#2031) 2020-11-28 23:14:37 +01:00
Robert Habermeier d6307a4978 allow jobs to spawn sub-tasks (#2030)
* allow jobs to spawn sub-tasks

* fix fallout in subsytems
2020-11-28 15:12:43 -05:00
Robert Habermeier 0c84214814 change approval voting counting procedure (#1972)
* change approval voting counting procedure

* language

* Update roadmap/implementers-guide/src/node/approval/approval-voting.md

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>

* improve language

* time-shifting

* tweak time-shifting

* expand

* typo

* tweaks to ensure we always get woken up

* move timing check into `tranches_to_approve`

Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com>
2020-11-28 18:35:46 +00:00
Andronik Ordian f8181fa1f2 erasure-coding: do not panic on 1 validator (#2022)
* erasure-coding: do not panic on 1 validator

* tabify fuzz tests

* remove num_validators length check

* remove unused import

* move erasure_coding_fuzzer to fuzzer

* change the authors to admit (at) parity.io

* Apply suggestions from code review

Co-authored-by: Sergei Shulepov <sergei@parity.io>

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-11-27 16:49:00 -05:00
André Silva 700b40679c proposer: guard all provisioner data work with timeout (#2026) 2020-11-27 19:39:22 +01:00
Robert Habermeier 0a79d663e4 Move erasure root out of candidate commitments and into descriptor (#2010)
* guide: move erasure-root to candidate descriptor

* primitives: move erasure root to descriptor

* guide: unify candidate commitments and validation outputs

* primitives: unify validation outputs and candidate commitments

* parachains-runtime: fix fallout

* runtimes: fix fallout

* collation generation: fix fallout

* fix stray reference in primitives

* fix fallout in node-primitives

* fix remaining fallout in collation generation

* fix fallout in candidate validation

* fix fallout in runtime API subsystem

* fix fallout in subsystem messages

* fix fallout in candidate backing

* fix fallout in availability distribution

* don't clone

* clone

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-11-27 16:39:42 +00:00
yaanhyy 4fba9df943 add module to features/std (#2024)
Co-authored-by: hongyuanyang <hongyuanyang@huobi.com>
2020-11-27 09:45:31 +01:00
Martin Pugh 642826ba07 Fix check_runtime.sh (#2020) 2020-11-26 20:17:16 +01:00
Vincent Ulitzsch 7d8eb5b2ac Add a fuzzer for the erasure coding (#2021)
* Commit a fuzzer for the erase coding

* Replace tabs with spaces for the erase coding fuzzer

* Apply suggestions from code review

Co-authored-by: Andronik Ordian <write@reusable.software>
2020-11-26 17:51:52 +00:00
Bastian Köcher e761c99852 Make sure we don't send messages multiple times in the availability distribution subsystem (#2015) 2020-11-26 15:13:44 +00:00
Bastian Köcher 119eb34fa8 Bump spec versions to ensure that we don't run in native (#2017) 2020-11-26 13:13:12 +01:00
Andronik Ordian 39a12b68f6 past-session validator discovery APIs (#2009)
* guide: fix formatting for SessionInfo module

* primitives: SessionInfo type

* punt on approval keys

* ah, revert the type alias

* session info runtime module skeleton

* update the guide

* runtime/configuration: sync with the guide

* runtime/configuration: setters for newly added fields

* runtime/configuration: set codec indexes

* runtime/configuration: update test

* primitives: fix SessionInfo definition

* runtime/session_info: initial impl

* runtime/session_info: use initializer for session handling (wip)

* runtime/session_info: mock authority discovery trait

* guide: update the initializer's order

* runtime/session_info: tests skeleton

* runtime/session_info: store n_delay_tranches in Configuration

* runtime/session_info: punt on approval keys

* runtime/session_info: add some basic tests

* Update primitives/src/v1.rs

* small fixes

* remove codec index annotation on structs

* fix off-by-one error

* validator_discovery: accept a session index

* runtime: replace validator_discovery api with session_info

* Update runtime/parachains/src/session_info.rs

Co-authored-by: Sergei Shulepov <sergei@parity.io>

* runtime/session_info: add a comment about missing entries

* runtime/session_info: define the keys

* util: expose connect_to_past_session_validators

* util: allow session_info requests for jobs

* runtime-api: add mock test for session_info

* collator-protocol: add session_index to test state

* util: fix error message for runtime error

* fix compilation

* fix tests after merge with master

Co-authored-by: Sergei Shulepov <sergei@parity.io>
2020-11-26 11:02:50 +00:00