mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 09:51:02 +00:00
ec3a61ed86
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.
83 lines
4.2 KiB
TOML
83 lines
4.2 KiB
TOML
[relaychain]
|
|
default_image = "{{RELAY_IMAGE}}"
|
|
default_command = "polkadot"
|
|
|
|
chain = "rococo-local"
|
|
|
|
[relaychain.genesis.runtimeGenesis.patch.configuration.config]
|
|
# set parameters such that collators only connect to 1 validator as a backing group
|
|
max_validators_per_core = 1
|
|
group_rotation_frequency = 100 # 10 mins
|
|
|
|
[[relaychain.nodes]]
|
|
name = "ferdie" # bootnode fullnode
|
|
validator = false
|
|
|
|
[[relaychain.node_groups]]
|
|
name = "validator"
|
|
count = 13
|
|
args = ["-lparachain::availability=trace,sync=debug,parachain=debug", "--reserved-only", "--reserved-nodes {{'ferdie'|zombie('multiAddress')}}"]
|
|
|
|
[[parachains]]
|
|
id = 2000
|
|
cumulus_based = true
|
|
register_para = false
|
|
add_to_genesis = false
|
|
|
|
# run bob as a parachain collator who is the only one producing blocks
|
|
# alice and charlie will need to recover the pov blocks through availability recovery
|
|
[[parachains.collators]]
|
|
name = "bob"
|
|
validator = true # collator
|
|
image = "{{COL_IMAGE}}"
|
|
command = "test-parachain"
|
|
args = ["--disable-block-announcements"]
|
|
|
|
# run 'alice' as a parachain collator who does not produce blocks
|
|
[[parachains.collators]]
|
|
name = "alice"
|
|
validator = true # collator
|
|
image = "{{COL_IMAGE}}"
|
|
command = "test-parachain"
|
|
args = ["-lparachain::availability=trace,sync=debug,parachain=debug,cumulus-pov-recovery=debug,cumulus-consensus=debug", "--use-null-consensus", "--disable-block-announcements", "--bootnodes {{'bob'|zombie('multiAddress')}}", "--in-peers 0", "--out-peers 0", "--", "--reserved-only", "--reserved-nodes {{'ferdie'|zombie('multiAddress')}}"]
|
|
|
|
# run 'charlie' as a parachain full node
|
|
[[parachains.collators]]
|
|
name = "charlie"
|
|
validator = false # full node
|
|
image = "{{COL_IMAGE}}"
|
|
command = "test-parachain"
|
|
args = ["-lparachain::availability=trace,sync=debug,parachain=debug,cumulus-pov-recovery=debug,cumulus-consensus=debug", "--disable-block-announcements", "--bootnodes {{'bob'|zombie('multiAddress')}}", "--in-peers 0", "--out-peers 0", "--", "--reserved-only", "--reserved-nodes {{'ferdie'|zombie('multiAddress')}}"]
|
|
|
|
# we fail recovery for 'eve' from time to time to test retries
|
|
[[parachains.collators]]
|
|
name = "eve"
|
|
validator = true # collator
|
|
image = "{{COL_IMAGE}}"
|
|
command = "test-parachain"
|
|
args = ["-lparachain::availability=trace,sync=debug,parachain=debug,cumulus-pov-recovery=debug,cumulus-consensus=debug", "--fail-pov-recovery", "--in-peers 0", "--out-peers 0", "--use-null-consensus", "--disable-block-announcements", "--bootnodes {{'bob'|zombie('multiAddress')}}", "--", "--reserved-only", "--reserved-nodes {{'ferdie'|zombie('multiAddress')}}"]
|
|
|
|
# run 'one' as a RPC collator who does not produce blocks
|
|
[[parachains.collators]]
|
|
name = "one"
|
|
validator = true # collator
|
|
image = "{{COL_IMAGE}}"
|
|
command = "test-parachain"
|
|
args = ["-lparachain::availability=trace,sync=debug,parachain=debug,cumulus-pov-recovery=debug,cumulus-consensus=debug", "--use-null-consensus", "--in-peers 0", "--out-peers 0", "--disable-block-announcements", "--bootnodes {{'bob'|zombie('multiAddress')}}", "--relay-chain-rpc-url {{'ferdie'|zombie('wsUri')}}", "--", "--reserved-only", "--reserved-nodes {{'ferdie'|zombie('multiAddress')}}"]
|
|
|
|
# run 'two' as a RPC parachain full node
|
|
[[parachains.collators]]
|
|
name = "two"
|
|
validator = false # full node
|
|
image = "{{COL_IMAGE}}"
|
|
command = "test-parachain"
|
|
args = ["-lparachain::availability=trace,sync=debug,parachain=debug,cumulus-pov-recovery=debug,cumulus-consensus=debug", "--disable-block-announcements", "--in-peers 0", "--out-peers 0", "--bootnodes {{'bob'|zombie('multiAddress')}}", "--relay-chain-rpc-url {{'ferdie'|zombie('wsUri')}}", "--", "--reserved-only", "--reserved-nodes {{'ferdie'|zombie('multiAddress')}}"]
|
|
|
|
# run 'three' with light client
|
|
[[parachains.collators]]
|
|
name = "three"
|
|
validator = false # full node
|
|
image = "{{COL_IMAGE}}"
|
|
command = "test-parachain"
|
|
args = ["-lparachain::availability=trace,sync=debug,parachain=debug,cumulus-pov-recovery=debug,cumulus-consensus=debug", "--disable-block-announcements", "--in-peers 0", "--out-peers 0", "--bootnodes {{'bob'|zombie('multiAddress')}}", "--relay-chain-light-client", "--", "--reserved-only", "--reserved-nodes {{'ferdie'|zombie('multiAddress')}}"]
|