1. Jan 13, 2021
  2. Jan 12, 2021
  3. Jan 11, 2021
  4. Jan 08, 2021
    • asynchronous rob's avatar
      subsystems have an unbounded channel to the overseer (#2236) · 03e39cf5
      asynchronous rob authored
      
      
      * subsystems have an unbounded channel to the overseer
      
      * Update node/overseer/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * bump Cargo.lock
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      03e39cf5
    • Bastian Köcher's avatar
      Do not send empty view updates to peers (#2233) · 475915ff
      Bastian Köcher authored
      
      
      * Do not send empty view updates to peers
      
      It happened that we send empty view updates to our peers, because we
      only updated our finalized block. This could lead to situations where we
      overwhelmed sub systems with too many messages. On Rococo this lead to
      constant restarts of our nodes, because some node apparently was
      finalizing a lot of blocks.
      
      To prevent this, the pr is doing the following:
      
      1. If a peer sends us an empty view, we report this peer and decrease it
      reputation.
      
      2. We ensure that we only send a view update when the `heads` changed
      and not only the `finalized_number`.
      
      3. We do not send empty `ActiveLeavesUpdates` from the overseer, as this
      makes no sense to send these empty updates. If some subsystem is relying
      on the finalized block, it needs to listen for the overseer signal.
      
      * Update node/network/bridge/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Don't work if they're are no added heads
      
      * Fix test
      
      * Ahhh
      
      * More fixes
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      475915ff
    • Fedor Sakharov's avatar
      Exit from av-store loop on fatal error. (#2232) · 8f293e18
      Fedor Sakharov authored
      * Fuse receive stream in Context
      
      * Revert "Fuse receive stream in Context"
      
      This reverts commit ddd26fa98f0ca1afbc22064e93010e4193a058b2.
      
      * Exit on node shutdown from av-store loop
      
      * Filter only context error
      8f293e18
  5. Jan 07, 2021
  6. Jan 06, 2021
  7. Jan 05, 2021
    • Bastian Köcher's avatar
      Improve the `unbacked-span` (#2206) · 453b6fff
      Bastian Köcher authored
      This ensures that we also record the first `import_statement` that will
      lead to the creation of the `unbacked-span`.
      453b6fff
    • Peter Goodspeed-Niklaus's avatar
      Reduce the inclusion inherent's actual weight if the block is already heavy (#2060) · fcc0fca1
      Peter Goodspeed-Niklaus authored
      
      
      * don't modify inherent data on heavy block
      
      * write up current thinking on block weight detection
      
      * extract inherent inclusion check into its own function
      
      * put heavy block check into runtime
      
      * the `inclusion` inherent call is Operational, not Mandatory
      
      This resolves a lot of the trickiness about this issue, because
      we no longer need to override or supplant any existing proposer
      logic; the existing logic should exhibit these behaviors:
      
      - the `inclusion` inherent is prioritized over standard transactions
      - but if it's too heavy, i.e. in case of runtime upgrade, it'll be
        dropped in favor of that.
      
      It is my belief that allowing the proposer to just not include
      this data won't have any adverse effects: it's equivalent to replacing
      them with empty versions of themselves, which the `ProvideInherent`
      impl already does.
      
      * Revert "the `inclusion` inherent call is Operational, not Mandatory"
      
      This reverts commit e58858d109b18b84e7af3ac47981c6900b2d9a3e.
      
      * Revert "write up current thinking on block weight detection"
      
      This reverts commit fd587b80c46761b2a2b62448193348237863f99f.
      
      * Revert "don't modify inherent data on heavy block"
      
      This reverts commit 38299d3c23e9efb5a354d8cfa658e62a5c8c7ddf.
      
      * add backed candidate block weight assumption to configuration
      
      * Limit backed candidates according to a candidate weight heuristic.
      
      This approach replaces making the inclusion inherent non-mandatory.
      It's still not ideal in that we have to configure a heuristic for
      how much each backed candidate 'weighs', instead of directly
      measuring it somehow.
      
      This approach also never truncates the signed bitfields. The
      rationale for that depends on some assumptions:
      
      - processing the signed bitfields is cheap compared to the
        backed candidates
      - it is beneficial to the progress of the relay chain
        to update the signed bitfields even if not all backed candidates
        are updated
      
      * simplify limit_backed_candidates and weight assumption
      
      * don't trust the provisioner to fairly distribute candidates
      
      * use saturating subtraction
      
      * empty commit to restart ci
      
      * use new mechanism for getting max block weight
      
      * apply weight refunds to the inclusion inherent
      
      This makes some assumptions about fundamental weights, which are
      encapsulated as constants. From there, it lets Substrate know
      what the actual computed weight of the inherent is.
      
      * use a correct fixed weight for the inclusion inherent
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * use dynamic inclusion weight so we reduce calculated weight when excluding candidates
      
      * don't double-count this intrinsic's weight in the block weight
      
      * add unit tests of fn limit_backed_candidates
      
      * add tests that the inclusion inherent's weight correctly updates
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      fcc0fca1
    • dependabot[bot]'s avatar
    • Bastian Köcher's avatar
      Add one Jaeger span per relay parent (#2196) · 5be09289
      Bastian Köcher authored
      
      
      * Add one Jaeger span per relay parent
      
      This adds one Jaeger span per relay parent, instead of always creating
      new spans per relay parent. This should improve the UI view, because
      subsystems are now grouped below one common span.
      
      * Fix doc tests
      
      * Replace `PerLeaveSpan` to `PerLeafSpan`
      
      * More renaming
      
      * Moare
      
      * Update node/subsystem/src/lib.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Skip the spans
      
      * Increase `spec_version`
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      5be09289
    • Sergey Pepyakin's avatar
      Parachains well known keys and abridged primitives (#2194) · ceb9e216
      Sergey Pepyakin authored
      * Add well_known_keys
      
      * Reorder HrmpChannel and HostConfiguration members
      
      * abridged versions and well known keys tests
      
      * Add some comments
      
      * Add a note on generation of the prefixes
      
      and other magic values
      
      * Recommend accessing the well known values through abridged structs
      ceb9e216
  8. Jan 04, 2021