Skip to content
Merged
Show file tree
Hide file tree
Changes from 74 commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
1de5d45
Bootstrap
AndreiEres Feb 12, 2025
aa9fd47
Warm up trie cache
AndreiEres Feb 19, 2025
2a5984b
Skip the warm-up if we shouldn’t fit the cache in memory
AndreiEres Feb 19, 2025
ffe5f33
Define memory usage
AndreiEres Feb 19, 2025
c520c63
Fix DatabaseSettings
AndreiEres Feb 19, 2025
59a1e61
Fix Configuration
AndreiEres Feb 19, 2025
c36916b
Fix Configuration
AndreiEres Feb 19, 2025
269f87a
Fix Configuration
AndreiEres Feb 19, 2025
9f708b5
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Feb 19, 2025
d3e83db
Process child keys
AndreiEres Feb 19, 2025
1dc4de1
Fix compilation
AndreiEres Feb 24, 2025
9bbb397
Add progress to key population
AndreiEres Feb 24, 2025
ed89fb1
Fix clippy warning
AndreiEres Feb 24, 2025
4c90ff2
Fix missing force_in_memory_trie_cache
AndreiEres Feb 25, 2025
75a1ba4
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Feb 25, 2025
3053fe0
Add missing force_in_memory_trie_cache
AndreiEres Feb 25, 2025
75726c6
Update ImportParams
AndreiEres Feb 25, 2025
08b3024
Specify DbHash in NodeBlock
AndreiEres Feb 28, 2025
e8611eb
Update from AndreiEres running command 'prdoc --bump patch --audience…
github-actions[bot] Feb 28, 2025
07fb16e
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Mar 3, 2025
1ae78b3
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Mar 4, 2025
47ac732
Add initial zombienet test
AndreiEres Mar 5, 2025
428f606
Update test
AndreiEres Mar 6, 2025
d342e82
Update
AndreiEres Mar 10, 2025
289b054
Update
AndreiEres Mar 11, 2025
d6f6971
Fix condition
AndreiEres Mar 14, 2025
e72bdbd
Improve weights test with chunked processing
AndreiEres Mar 14, 2025
468afc0
Update test
AndreiEres Mar 17, 2025
6e1f495
Add warm up test
AndreiEres Mar 20, 2025
1dd9bac
Update tests
AndreiEres Mar 20, 2025
bf0c52f
Extract warm-up logic into dedicated function
AndreiEres Mar 21, 2025
53e7171
Calculate trie cache size based on system memory in ImportParams
AndreiEres Mar 21, 2025
a62faad
Remove force_in_memory_trie_cache from DatabaseSettings
AndreiEres Mar 21, 2025
8575368
Update pr doc
AndreiEres Mar 21, 2025
3dfefab
Add zombienet test
AndreiEres Mar 21, 2025
0fe9702
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Mar 21, 2025
9132a05
Build asset-hub-westend metadata
AndreiEres Mar 21, 2025
851ab09
Switch to only warming up trie cache
AndreiEres Mar 25, 2025
3ad8c51
Clean up
AndreiEres Mar 25, 2025
4c861a2
Add debug statements for empty storage values
AndreiEres Mar 25, 2025
95554b5
Merge remote-tracking branch 'origin/master' into AndreiEres/trie-warmup
AndreiEres Mar 26, 2025
5f3d768
Update asset_hub_westend import
AndreiEres Mar 26, 2025
96ea5e0
Add parachains-warm-up-trie-cache to GA
AndreiEres Mar 26, 2025
96828dd
Remove unused const
AndreiEres Mar 26, 2025
5190a0c
Use used memory because available memory somethimes failes
AndreiEres Mar 27, 2025
fd55d55
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Apr 3, 2025
bdc59f8
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Apr 9, 2025
bcca35a
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Apr 22, 2025
56bb41b
Replace unnecessary expect
AndreiEres Apr 22, 2025
e004403
Use predownloaded metadata for asset-hub-westend
AndreiEres Apr 22, 2025
9fca224
Update test
AndreiEres Apr 22, 2025
b0a6eca
Update pr doc
AndreiEres Apr 22, 2025
4609ed7
Make taplo happy
AndreiEres Apr 23, 2025
7d9e16a
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Apr 23, 2025
a36e69e
Revert YAP changes
AndreiEres Apr 23, 2025
eb05505
Use CUMULUS_IMAGE for polkadot-parachain
AndreiEres Apr 23, 2025
02f0b1d
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Apr 23, 2025
c0cdfe7
Trigger CI
AndreiEres Apr 23, 2025
b2b9ac7
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Apr 24, 2025
5890374
Update prdoc/pr_7556.prdoc
AndreiEres Apr 24, 2025
71b61e6
Update metadata fetching
AndreiEres Apr 28, 2025
7b55ad4
Add docs
AndreiEres Apr 28, 2025
f1f863a
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Apr 28, 2025
ed97a57
Update test
AndreiEres Apr 28, 2025
1e093b5
Add info about memory
AndreiEres Apr 28, 2025
2a2ddc2
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres Apr 28, 2025
417e8d0
Merge remote-tracking branch 'origin/master' into AndreiEres/trie-warmup
AndreiEres May 20, 2025
599f94f
Shrink arguments
AndreiEres May 21, 2025
c3ab8b7
Add blocking and non-blocking warm-up
AndreiEres May 22, 2025
6f695a6
Add small fixes
AndreiEres May 22, 2025
16fb26d
Update the progress tracking
AndreiEres May 22, 2025
88b8c3e
Update substrate/client/service/src/builder.rs
AndreiEres May 22, 2025
120a597
Update substrate/client/service/src/builder.rs
AndreiEres May 22, 2025
5eb64bc
Update substrate/client/service/src/builder.rs
AndreiEres May 23, 2025
ed7dd95
Decrease log level
AndreiEres May 26, 2025
be589e3
Don't error on lack of memory
AndreiEres May 26, 2025
314818c
Remove zombie test
AndreiEres May 26, 2025
d7fb87b
Merge branch 'master' into AndreiEres/trie-warmup
AndreiEres May 26, 2025
1981dda
Fix types
AndreiEres May 26, 2025
8fd35e6
Update pr doc
AndreiEres May 26, 2025
04f6823
Use Trusted and Untrusted states
AndreiEres May 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/workflows/zombienet_polkadot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -879,3 +879,33 @@ jobs:
ref-slug: ${{ needs.preflight.outputs.SOURCE_REF_SLUG }}
test: "functional::approved_peer_mixed_validators::approved_peer_mixed_validators_test"
prefix: "polkadot"

#
#
zombienet-polkadot-parachains-warm-up-trie-cache:
needs: [preflight]
if: ${{ (needs.preflight.outputs.changes_substrate || needs.preflight.outputs.changes_polkadot) && ! contains(needs.preflight.outputs.FLAKY_TESTS, 'zombienet-polkadot-parachains-warm-up-trie-cache') }}
runs-on: ${{ needs.preflight.outputs.ZOMBIENET_RUNNER }} # NOTE: should be zombienet-arc-runner (without quotes)
timeout-minutes: 60
container:
image: ${{ needs.preflight.outputs.ZOMBIENET_IMAGE }}
env:
# sdk tests are looking for POLKADOT_IMAGE
POLKADOT_IMAGE: "${{ needs.preflight.outputs.TEMP_IMAGES_BASE }}/polkadot-debug:${{ needs.preflight.outputs.DOCKER_IMAGES_VERSION }}"
COL_IMAGE: "${{ needs.preflight.outputs.TEMP_IMAGES_BASE }}/colander:${{ needs.preflight.outputs.DOCKER_IMAGES_VERSION }}"
CUMULUS_IMAGE: "${{ needs.preflight.outputs.TEMP_IMAGES_BASE }}/polkadot-parachain-debug:${{ needs.preflight.outputs.DOCKER_IMAGES_VERSION }}"
MALUS_IMAGE: "${{ needs.preflight.outputs.TEMP_IMAGES_BASE }}/malus:${{ needs.preflight.outputs.DOCKER_IMAGES_VERSION }}"
RUST_LOG: ${{ needs.preflight.outputs.RUST_LOG }}
ZOMBIE_PROVIDER: ${{ needs.preflight.outputs.ZOMBIE_PROVIDER }}
steps:
- name: Checkout
uses: actions/checkout@v4

- name: zombienet_test
uses: ./.github/actions/zombienet-sdk
with:
gh-token: ${{ secrets.GITHUB_TOKEN }}
build-id: ${{ needs.preflight.outputs.BUILD_RUN_ID }}
ref-slug: ${{ needs.preflight.outputs.SOURCE_REF_SLUG }}
test: "parachains::warm_up_trie_cache::warm_up_trie_cache_test"
prefix: "polkadot"
16 changes: 13 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -1377,6 +1377,7 @@ substrate-test-runtime-transaction-pool = { path = "substrate/test-utils/runtime
substrate-test-utils = { path = "substrate/test-utils" }
substrate-wasm-builder = { path = "substrate/utils/wasm-builder", default-features = false }
subxt = { version = "0.38.1", default-features = false }
subxt-macro = { version = "0.38.1", default-features = false }
subxt-metadata = { version = "0.38.0", default-features = false }
subxt-signer = { version = "0.38" }
syn = { version = "2.0.87" }
Expand Down
1 change: 1 addition & 0 deletions cumulus/test/service/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -876,6 +876,7 @@ pub fn node_config(
keystore: KeystoreConfig::InMemory,
database: DatabaseSource::RocksDb { path: root.join("db"), cache_size: 128 },
trie_cache_maximum_size: Some(64 * 1024 * 1024),
warm_up_trie_cache: None,
state_pruning: Some(PruningMode::ArchiveAll),
blocks_pruning: BlocksPruning::KeepAll,
chain_spec: spec,
Expand Down
1 change: 1 addition & 0 deletions polkadot/node/test/service/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ pub fn node_config(
keystore: KeystoreConfig::InMemory,
database: DatabaseSource::RocksDb { path: root.join("db"), cache_size: 128 },
trie_cache_maximum_size: Some(64 * 1024 * 1024),
warm_up_trie_cache: None,
state_pruning: Default::default(),
blocks_pruning: BlocksPruning::KeepFinalized,
chain_spec: Box::new(spec),
Expand Down
5 changes: 5 additions & 0 deletions polkadot/zombienet-sdk-tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,19 @@ publish = false

[dependencies]
anyhow = { workspace = true }
asset-hub-westend-runtime = { workspace = true }
codec = { workspace = true, features = ["derive"] }
cumulus-zombienet-sdk-helpers = { workspace = true }
env_logger = { workspace = true }
futures = { workspace = true }
log = { workspace = true }
pallet-revive = { workspace = true, features = ["std"] }
polkadot-primitives = { workspace = true, default-features = true }
serde = { workspace = true }
serde_json = { workspace = true }
sp-core = { workspace = true }
subxt = { workspace = true }
subxt-macro = { workspace = true, features = ["runtime-metadata-insecure-url"] }
subxt-signer = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread"] }
tokio-util = { workspace = true, features = ["time"] }
Expand Down
2 changes: 1 addition & 1 deletion polkadot/zombienet-sdk-tests/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ fn main() {
// Ensure we have the needed metadata files in place to run zombienet tests
let manifest_path = env::var("CARGO_MANIFEST_DIR").unwrap();
const METADATA_DIR: &str = "metadata-files";
const CHAINS: [&str; 2] = ["rococo", "coretime-rococo"];
const CHAINS: [&str; 3] = ["rococo", "coretime-rococo", "asset-hub-westend"];

let metadata_path = format!("{manifest_path}/{METADATA_DIR}");

Expand Down
2 changes: 2 additions & 0 deletions polkadot/zombienet-sdk-tests/tests/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@ mod elastic_scaling;
#[cfg(feature = "zombie-ci")]
mod functional;
#[cfg(feature = "zombie-ci")]
mod parachains;
#[cfg(feature = "zombie-ci")]
mod smoke;
Binary file not shown.
16 changes: 16 additions & 0 deletions polkadot/zombienet-sdk-tests/tests/parachains/contract.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract TestToken2 is ERC20 {
constructor() ERC20("TestToken2", "TT2") {}

function mint(uint256 amount) public {
_mint(msg.sender, amount);
}

function burn(uint256 amount) public {
_burn(msg.sender, amount);
}
}
4 changes: 4 additions & 0 deletions polkadot/zombienet-sdk-tests/tests/parachains/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
// Copyright (C) Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0

mod warm_up_trie_cache;
Loading
Loading