- Jun 17, 2021
-
-
Lldenaurois authored
* node/approval-voting: extract and test count_no_shows method This commit extracts no_show computation into a pure function so that it can be extensively unit tested. * node/approval-voting: ignore invalid validator indexes in count_no_show Previously indexes that were past the length of the approvals bitvector would contribute to the no_show count or the next_no_show value. This commit changes the behavior to ignore garbage values. * node/approval-voting: add comment for next_no_show adding clock_drift
-
- Jun 16, 2021
-
-
asynchronous rob authored
* extract determine_new_blocks into a separate utility * rework docs
-
Lldenaurois authored
* node/approval_checking: break out filled_tranch_iterator method In the subsequent commit, we will begin to test this method in isolation. * node/approval-voting: fix tranche back-filling algorithm Previously, this algorithm would generate duplicate, empty entries for tranches (1..pre_end). This is caused because the initial value (0) for gap_end is treated as the end of a prior tranche that wasn't actually processed. The first pass thus would add (1..tranche) empty entries, in addition to the (0..pre_end) empty entries chained at the end of the method. This is fixed by using the current tranche as the gap_start for the first iteration, ensuring that the approval_entries_filled only produces entries in the range (pre_end..post_start). * Address feedback
-
- Jun 15, 2021
-
-
asynchronous rob authored
* Drop guard for detecting stale approvals * address nits with different API
-
- Jun 14, 2021
-
-
asynchronous rob authored
* add more information about what's happening during approval work * record assignment tranches in histogram
-
- Jun 13, 2021
-
-
ordian authored
* approval-voting: logs for invalid votes * proper errors for assignment checks * proper errors for approval checks
-
asynchronous rob authored
-
asynchronous rob authored
* skeleton for dispute-coordinator * add coordinator and participation message types * begin dispute-coordinator DB * functions for loading * implement strongly-typed DB transaction * add some tests for DB transaction * core logic for pruning * guide: update candidate-votes key for coordinator * update candidate-votes key * use big-endian encoding for session, and implement upper bound generator * finish implementing pruning * add a test for note_current_session * define state of the subsystem itself * barebones subsystem definition * control flow * more control flow * implement session-updating logic * trace * control flow for message handling * Update node/core/dispute-coordinator/src/lib.rs Co-authored-by:
André Silva <[email protected]> * Update node/subsystem/src/messages.rs Co-authored-by:
André Silva <[email protected]> * some more control flow * guide: remove overlay * more control flow * implement some DB getters * make progress on importing statements * add SignedDisputeStatement struct * move ApprovalVote to shared primitives * add a signing-payload API to explicit dispute statements * add signing-payload to CompactStatement * add relay-parent hash to seconded/valid dispute variatns * correct import * type-safe wrapper around dispute statements * use checked dispute statement in message type * extract rolling session window cache to subsystem-util * extract session window tests * approval-voting: use rolling session info cache * reduce dispute window to match runtime in practice * add byzantine_threshold and supermajority_threshold utilities to primitives * integrate rolling session window * Add PartialOrd to CandidateHash * add Ord to CandidateHash * implement active dispute update * add dispute messages to AllMessages * add dispute stubs to overseer * inform dispute participation to participate * implement issue_local_statement * implement `determine_undisputed_chain` * fix warnings * test harness for dispute coordinator tests * add more helpers to test harness * add some more helpers * some tests for dispute coordinator * ignore wrong validator indices * test finality voting rule constraint * add more tests * add variants to network bridge * fix test compilation * remove most dispute coordinator functionality as of #3222 we can do most of the work within the approval voting subsystem * Revert "remove most dispute coordinator functionality" This reverts commit 9cd615e8eb6ca0b382cbaff525d813e753d6004e. * Use thiserror Co-authored-by:
Bernhard Schuster <[email protected]> * Update node/core/dispute-coordinator/src/lib.rs Co-authored-by:
Bernhard Schuster <[email protected]> * extract tests to separate module * address nit * adjust run_iteration API Co-authored-by:
André Silva <[email protected]> Co-authored-by:
Bernhard Schuster <[email protected]>
-
- Jun 11, 2021
-
-
André Silva authored
* replace HistoricalValidationCode usages with ValidationCodeByHash * runtime-api: tabify tests file * update implementers guide
-
- Jun 09, 2021
-
-
dependabot[bot] authored
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.14 to 0.3.15. - [Release notes](https://github.com/rust-lang/futures-rs/releases) - [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.14...0.3.15 ) --- updated-dependencies: - dependency-name: futures dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Jun 04, 2021
-
-
asynchronous rob authored
-
- May 27, 2021
-
-
dependabot[bot] authored
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.25 to 0.1.26. - [Release notes](https://github.com/tokio-rs/tracing/releases) - [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.25...tracing-0.1.26 ) Signed-off-by:
dependabot[bot] <[email protected]> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Apr 25, 2021
-
-
François Garillot authored
* Simplify some Option / Result / ? operator patterns When they identically match a combinator on those types. Tool-aided by [comby-rust](https://github.com/huitseeker/comby-rust ). * adjust review comments Co-authored-by:
Shawn Tabrizi <[email protected]>
-
- Apr 08, 2021
-
-
ordian authored
* silence some parachain warnings * that was actually a bug that Rob is fixing
-
- Apr 07, 2021
-
-
asynchronous rob authored
-
- Apr 01, 2021
-
-
asynchronous rob authored
* extract database from av-store itself * generalize approval-voting over database type * modes (without handling) and pruning old wakeups * rework approval importing * add our_approval_sig to ApprovalEntry * import assignment * guide updates for check-full-approval changes * some aux functions * send messages when becoming active. * guide: network bridge sends view updates only when done syncing * network bridge: send view updates only when done syncing * tests for new network-bridge behavior * add a test for updating approval entry with sig * fix some warnings * test load-all-blocks * instantiate new parachains DB * fix network-bridge empty view updates * tweak * fix wasm build, i think * Update node/core/approval-voting/src/lib.rs Co-authored-by:
Andronik Ordian <[email protected]> * add some versioning to parachains_db * warnings * fix merge changes * remove versioning again Co-authored-by:
Andronik Ordian <[email protected]>
-
- Mar 30, 2021
-
-
asynchronous rob authored
* guide updates * keep interactions alive until receivers drop * retry indefinitely * cancel approval tasks on finality * use swap_remove instead of remove
-
- Mar 29, 2021
-
-
asynchronous rob authored
-
asynchronous rob authored
-
asynchronous rob authored
* reduce signal channel capacity * more tracing for approval-voting
-
Robert Klotzner authored
* Remove stuff out of the runtime that does not belong there. There might be more, but it is a start. * White space fixes. * Fix tests. * Leave whitespace in ui tests alone. * Add back zstd for no reason. * Fix browser wasm (hopefully)
-
- Mar 28, 2021
-
-
asynchronous rob authored
* overseer: pass messages directly between subsystems * test that message is held on to * Update node/overseer/src/lib.rs Co-authored-by:
Peter Goodspeed-Niklaus <[email protected]> * give every subsystem an unbounded sender too * remove metered_channel::name 1. we don't provide good names 2. these names are never used anywhere * unused mut * remove unnecessary &mut * subsystem unbounded_send * remove unused MaybeTimer We have channel size metrics that serve the same purpose better now and the implementation of message timing was pretty ugly. * remove comment * split up senders and receivers * update metrics * fix tests * fix test subsystem context * use SubsystemSender in jobs system now * refactor of awful jobs code * expose public `run` on JobSubsystem * update candidate backing to new jobs & use unbounded * bitfield signing * candidate-selection * provisioner * approval voting: send unbounded for assignment/approvals * async not needed * begin bridge split * split up network tasks into background worker * port over network bridge * Update node/network/bridge/src/lib.rs Co-authored-by:
Andronik Ordian <[email protected]> * rename ValidationWorkerNotifications Co-authored-by:
Peter Goodspeed-Niklaus <[email protected]> Co-authored-by:
Andronik Ordian <[email protected]>
-
ordian authored
* approval-voting: more spans and metrics * s/db/approval db
-
asynchronous rob authored
* add consensus log type * origin and issue force_approve * add origin in runtimes * ref API * scrape force_approve digest from header * add parent_hash to BlockEntry * add block_number to block entry and force_approve skeleton * implement and plug in force-approve * test force_approve * test force_approve extraction * westend runtime * Update node/core/approval-voting/src/approval_db/v1/mod.rs Co-authored-by:
Bastian Köcher <[email protected]> * rename * Update runtime/parachains/src/initializer.rs Co-authored-by:
André Silva <[email protected]> Co-authored-by:
Bastian Köcher <[email protected]> Co-authored-by:
André Silva <[email protected]>
-
- Mar 26, 2021
-
-
asynchronous rob authored
* add number to `ActivatedLeavesUpdate` * update subsystem util and overseer * use new ActivatedLeaf everywhere * sort view * sorted and limited view in network bridge * use live block hash only if it's newer * grumples
-
- Mar 25, 2021
-
-
asynchronous rob authored
* f+1 always approves * guide * grumbles * grumbles * fix test * fix tests * Update roadmap/implementers-guide/src/node/approval/approval-voting.md Co-authored-by:
Sergei Shulepov <[email protected]> Co-authored-by:
Sergei Shulepov <[email protected]>
-
- Mar 24, 2021
-
-
asynchronous rob authored
* improve tracing for approval voting * assignment criteria tracing * new syntax
-
- Mar 23, 2021
-
-
asynchronous rob authored
* more approval voting instrumentation * fix `unapproved_candidates` * Update node/core/approval-voting/src/lib.rs Co-authored-by:
Bastian Köcher <[email protected]>
-
- Mar 19, 2021
-
-
Bernhard Schuster authored
-
- Mar 17, 2021
-
-
asynchronous rob authored
-
- Mar 12, 2021
-
-
asynchronous rob authored
-
- Mar 11, 2021
-
-
asynchronous rob authored
* some more metrics for approval voting * fix tests Co-authored-by:
Andronik Ordian <[email protected]>
-
asynchronous rob authored
* more tracing for av-store * Update node/core/av-store/src/lib.rs Co-authored-by:
Bastian Köcher <[email protected]> * Update node/core/av-store/src/lib.rs Co-authored-by:
Bastian Köcher <[email protected]> * Update node/core/av-store/src/lib.rs Co-authored-by:
Bastian Köcher <[email protected]> * Update tracing everywhere * Fix build * More fixes * Push cargo.lock * Update Co-authored-by:
Bastian Köcher <[email protected]> Co-authored-by:
Bastian Köcher <[email protected]>
-
- Mar 10, 2021
-
-
asynchronous rob authored
* make approval voting resilient to dropped requests * some more * skip whole chain if encountering spurious error
-
ordian authored
* prefix parachain log targets with parachain:: * even more consistent
-
Ashley authored
* Add a config field to babe epochs * Fix test * Add BABE_GENESIS_EPOCH_CONFIG consts * Use PrimaryAndSecondaryVRFSlots and remove newlines * Make epoch_configs Some * Fix tests * Fix test service tests * Add a BabeEpochConfigMigrations OnRuntimeUpgrade * Apply suggestions * Use PrimaryAndSecondaryPlainSlots in kusama * Remove migration from test runtime and rococo * Add HasPalletPrefix * Rename to BabePalletPrefix and change BabeApi -> Babe * "Update Substrate" * Update substrate * Resolve parantheses errors Co-authored-by: parity-processbot <>
-
- Mar 09, 2021
-
-
ordian authored
* approval-voting metrics * metric: approvals produced
-
asynchronous rob authored
* add a magic number to backing statements encoded * fix fallout in statement table * fix some fallout in backing * add magic to approval votes * remove last references to Candidate variant * update size-hint
-
- Feb 26, 2021
-
-
Robert Klotzner authored
* WIP * availability distribution, still very wip. Work on the requesting side of things. * Some docs on what I intend to do. * Checkpoint of session cache implementation as I will likely replace it with something smarter. * More work, mostly on cache and getting things to type check. * Only derive MallocSizeOf and Debug for std. * availability-distribution: Cache feature complete. * Sketch out logic in `FetchTask` for actual fetching. - Compile fixes. - Cleanup. * Format cleanup. * More format fixes. * Almost feature complete `fetch_task`. Missing: - Check for cancel - Actual querying of peer ids. * Finish FetchTask so far. * Directly use AuthorityDiscoveryId in protocol and cache. * Resolve `AuthorityDiscoveryId` on sending requests. * Rework fetch_task - also make it impossible to check the wrong chunk index. - Export needed function in validator_discovery. * From<u32> implementation for `ValidatorIndex`. * Fixes and more integration work. * Make session cache proper lru cache. * Use proper lru cache. * Requester finished. * ProtocolState -> Requester Also make sure to not fetch our own chunk. * Cleanup + fixes. * Remove unused functions - FetchTask::is_finished - SessionCache::fetch_session_info * availability-distribution responding side. * Cleanup + Fixes. * More fixes. * More fixes. adder-collator is running! * Some docs. * Docs. * Fix reporting of bad guys. * Fix tests * Make all tests compile. * Fix test. * Cleanup + get rid of some warnings. * state -> requester * Mostly doc fixes. * Fix test suite. * Get rid of now redundant message types. * WIP * Rob's review remarks. * Fix test suite. * core.relay_parent -> leaf for session request. * Style fix. * Decrease request timeout. * Cleanup obsolete errors. * Metrics + don't fail on non fatal errors. * requester.rs -> requester/mod.rs * Panic on invalid BadValidator report. * Fix indentation. * Use typed default timeout constant. * Make channel size 0, as each sender gets one slot anyways. * Fix incorrect metrics initialization. * Fix build after merge. * More fixes. * Hopefully valid metrics names. * Better metrics names. * Some tests that already work. * Slightly better docs. * Some more tests. * Fix network bridge test.
-
- Feb 25, 2021
-
-
asynchronous rob authored
* some initial spans for approval voting * add stage earlier
-