Skip to content
  1. Apr 12, 2022
    • Tsvetomir Dimitrov's avatar
      Add staging runtime api (#5048) · fd020c07
      Tsvetomir Dimitrov authored
      * Move `trait ParachainHost` to a separate version independent module
      
      `trait ParachainHost` is no longer part of a specific primitives
      version. Instead there is a single trait for stable and staging api
      versions. The trait contains stable AND staging methods. The latter are
      explicitly marked as unstable.
      
      * Fix `use` primitives
      
      `polkadot_primitives::v2` becomes `polkadot_primitives::runtime_api`
      
      * Staging API declaration and stubs
      
      Introduces the concept for 'staging functions' in runtime API. These
      functions are still in testing and they are meant to be used only
      within test networks (Westend).
      They coexist with the stable calls for technical reasons - maintaining
      different runtime APIs for different networks is hard to implement.
      
      Check the doc comments in source files for more details how the staging
      API should be used.
      
      * Add new staging method - get_session_disputes()
      
      Add `staging_get_session_disputes` to `ParachainHost` as the first
      method of the staging API.
      
      * Hide vstaging runtime api implementations  behind feature flag
      
      * Fix test runtime
      
      * fn staging_get_session_disputes() is renamed to fn staging_get_disputes()
      fd020c07
    • Denis_P's avatar
      CI: rename ambiguous jobs (#5313) · 04f5a15b
      Denis_P authored
      04f5a15b
  2. Apr 11, 2022
  3. Apr 09, 2022
    • dependabot[bot]'s avatar
      Bump proc-macro2 from 1.0.36 to 1.0.37 (#5265) · 3fef84a6
      dependabot[bot] authored
      
      
      Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.36 to 1.0.37.
      - [Release notes](https://github.com/dtolnay/proc-macro2/releases)
      - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.36...1.0.37)
      
      ---
      updated-dependencies:
      - dependency-name: proc-macro2
        dependency-type: direct:production
        update-type: version-update:semver-patch
      ...
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      3fef84a6
    • Sergei Shulepov's avatar
      Fixes the dead lock when any of the channels get at capacity. (#5297) · b89dc00e
      Sergei Shulepov authored
      The PVF host is designed to avoid spawning tasks to minimize knowledge
      of outer code. Using `async_std::task::spawn` (or Tokio's counterpart)
      deemed unacceptable, `SpawnNamed` undesirable. Instead there is only one
      task returned that is spawned by the candidate-validation subsystem.
      The tasks from the sub-components are polled by that root task.
      
      However, the way the tasks are bundled was incorrect. There was a giant
      select that was polling those tasks. Particularly, that implies that as soon as
      one of the arms of that select goes into await those sub-tasks stop
      getting polled. This is a recipe for a deadlock which indeed happened
      here.
      
      Specifically, the deadlock happened during sending messages to the
      execute queue by calling
      [`send_execute`](https://github.com/paritytech/polkadot/blob/a68d9be3/node/core/pvf/src/host.rs#L601).
      When the channel to the queue reaches the capacity, the control flow is
      suspended until the queue handles those messages. Since this code is
      essentially reached from [one of the select
      arms](https://github.com/paritytech/polkadot/blob/a68d9be3/node/core/pvf/src/host.rs#L371),
      the queue won't be given the control and thus no further progress can be
      made.
      
      This problem is solved by bundling the tasks one level higher instead,
      by `selecting` over those long-running tasks.
      
      We also stop treating returning from those long-running tasks as error
      conditions, since that can happen during legit shutdown.
      b89dc00e
  4. Apr 08, 2022
  5. Apr 07, 2022
  6. Apr 06, 2022
  7. Apr 04, 2022
  8. Apr 03, 2022
  9. Apr 02, 2022