Sebastian Kunert
ec3a61ed86
Remove pov-recovery race condition/Improve zombienet test ( #2526 )
...
The test was a bit flaky on CI.
There was a race condition in the pov-recovery system. If the timing is
bad, it can happen that a block waits for a parent that is already
queued for import. The check if a block has children waiting happens
when we insert into the import queue. So we need to do an additional
check once we receive the import notification for the parent block.
Second issue is that `alice` was missing `--in-peers 0` and `--out-peers
0`, so alice was sometimes still fetching block via sync and the
assertion on the logs in zombienet would fail.
There is another potential issue that I saw once locally. We have a
failing pov-recovery queue that fails from time to time to check that
the retry mechanism does what it should. We now make sure that the same
candidate is never failed twice, so the tests become more predictable.
2023-11-28 16:59:06 +01:00
Sebastian Kunert
471eafcb8d
Disable any peer connections for parachain nodes in pov-recovery zombienet test ( #2475 )
...
I noticed that this test broke at some point. The parachain nodes should
only acquire their blocks from the relay chain. But they were connecting
to their peers and started fetching blocks from there.
In this test I now take additional measures so we check that each nodes
really uses pov-recovery to get the blocks.
2023-11-24 13:52:55 +01:00
Michal Kucharczyk
8ba7a6aba8
chain-spec: getting ready for native-runtime-free world (#1256 )
...
This PR prepares chains specs for _native-runtime-free_ world.
This PR has following changes:
- `substrate`:
- adds support for:
- JSON based `GenesisConfig` to `ChainSpec` allowing interaction with
runtime `GenesisBuilder` API.
- interacting with arbitrary runtime wasm blob to[
`chain-spec-builder`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/bin/utils/chain-spec-builder/src/lib.rs#L46 )
command line util,
- removes
[`code`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/frame/system/src/lib.rs#L660 )
from `system_pallet`
- adds `code` to the `ChainSpec`
- deprecates
[`ChainSpec::from_genesis`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/client/chain-spec/src/chain_spec.rs#L263 ),
but also changes the signature of this method extending it with `code`
argument.
[`ChainSpec::builder()`](https://github.com/paritytech/substrate/blob/20bee680ed098be7239cf7a6b804cd4de267983e/client/chain-spec/src/chain_spec.rs#L507 )
should be used instead.
- `polkadot`:
- all references to `RuntimeGenesisConfig` in `node/service` are
removed,
- all
`(kusama|polkadot|versi|rococo|wococo)_(staging|dev)_genesis_config`
functions now return the JSON patch for default runtime `GenesisConfig`,
- `ChainSpecBuilder` is used, `ChainSpec::from_genesis` is removed,
- `cumulus`:
- `ChainSpecBuilder` is used, `ChainSpec::from_genesis` is removed,
- _JSON_ patch configuration used instead of `RuntimeGenesisConfig
struct` in all chain specs.
---------
Co-authored-by: command-bot <>
Co-authored-by: Javier Viola <javier@parity.io >
Co-authored-by: Davide Galassi <davxy@datawok.net >
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com >
Co-authored-by: Kevin Krone <kevin@parity.io >
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-11-05 15:19:23 +01:00
Michal Kucharczyk
1c0b437330
cumulus test runtime: remove GenesisExt ( #2147 )
...
This PR removes the `GenesisExt` wrapper over the `GenesisRuntimeConfig`
in `cumulus-test-service`. Initialization of values that were performed
by `GenesisExt::BuildStorage` was moved into `test_pallet` genesis.
---------
Co-authored-by: command-bot <>
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-11-04 11:25:07 +02:00
Sebastian Kunert
817c4503db
Allow integrated relay chain light client ( #2270 )
...
* Add embedded light client to cli
* Prepare for light-client-worker
* First working version
* Clean up
* Remove unwanted logs
* Simplify subscription code
* Let jsonrpsee handle rpc management
* Simplify implementation
* Reorganize crate structure
* Use relay chain arg chainspec for light-client
* Clean up command line
* Add light client worker file
* Use smoldot master to avoid wasmtime conflict
* Remove sleep
* Improve naming of cli option
* Remove conflict with `validator`
* Improve docs
* Update smoldot, remove unwanted change
* Apply suggestions from code review
Co-authored-by: Dmitry Markin <dmitry@markin.tech >
* Disable collation
* Reviewer comments
* Update smoldot and tokio-platform
* Update smoldot
* Update smoldot
* Adjust to new version
* Patch substrate
* Use constants
* Add readme entry, improve zombienet tests
* Apply suggestions from code review
Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com >
* Make execution mode an enum
* Update smoldot, remove substrate patch
* Update client/relay-chain-rpc-interface/src/rpc_client.rs
Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com >
* Reduce duplicate code
* Update smoldot
* Update smoldot
* Fix build
* Update smoldot
* Make platform compile
* Clean up dependencies
* Use crates.io instead of github for smoldot
* Apply suggestions from code review
Co-authored-by: Davide Galassi <davxy@datawok.net >
* Docs
* Improve docs
* Remove `RpcFrontend`
---------
Co-authored-by: Dmitry Markin <dmitry@markin.tech >
Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com >
Co-authored-by: Davide Galassi <davxy@datawok.net >
2023-08-22 15:53:32 +02:00
Sebastian Kunert
588bdad7f6
Add retry mechanism for pov-recovery, fix full-node pov-recovery ( #2164 )
...
* Increase delay for pov-recovery
* Update client/service/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* Comment
* FMT
* Clear waiting_recovery when block is recovered or recovery failed
* Introduce recovery queue that preserved insertion order
* Better error logs
* Decrease slot duration
* Style improvements
* Add option to use unordered queue
* Maintain cache of finalized blocks
* Wait for one relay chain slot before recovery
* Make retries testable
* fmt
* Improve docs
* Improve docs
* Simplify RecoveryQueue
* Remove unwanted changes
* Adjust to comments
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <git@kchr.de >
* Move recovery delay into the queue
* Check for finalized number
* Clean up
* Use timer
Co-authored-by: Bastian Köcher <git@kchr.de >
* Simplify implementation
* Revert "Use timer"
This reverts commit 3809eed840d3a09d54212f99486782ff80cdc1c9.
* Properly clear `to_recover` flag
---------
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-02-09 14:18:55 +01:00
Sebastian Kunert
9a3e518e5c
Add example zombienet network file and instructions ( #1839 )
...
* Add simple example on how to spin up network.
* Update readme
* Remove unnecessary prefix
* Improve folder structure
* Add link to file
* Fix paths in readme
* Update README.md
Co-authored-by: Bastian Köcher <git@kchr.de >
Co-authored-by: Bastian Köcher <git@kchr.de >
2022-11-08 18:26:20 +00:00