Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance WarpSync zombienet tests with BEEFY validations #2787

Closed
4 tasks done
acatangiu opened this issue Dec 22, 2023 · 4 comments · Fixed by #2928
Closed
4 tasks done

Enhance WarpSync zombienet tests with BEEFY validations #2787

acatangiu opened this issue Dec 22, 2023 · 4 comments · Fixed by #2928
Assignees
Labels
T10-tests This PR/Issue is related to tests.

Comments

@acatangiu
Copy link
Contributor

acatangiu commented Dec 22, 2023

BEEFY + (GRANDPA) WarpSync was enabled in #2689

Add zombienet Warp Sync regression tests (needs rebuilding db used in existing zombienet tests to include BEEFY state)

Done:

  • Added BEEFY support to kitchensink
  • Published PR that adds some basic BEEFY checks to the warp sync tests

Summarizing remaining work:

@serban300
Copy link
Contributor

Experimented with multiple solutions. No matter what, we need a pretty big database (>50k blocks) in order to make sure that the headers sync doesn't finish before BEEFY starts. Otherwise the test wouldn't cover much.

I think the best strategy would be to generate a rococo-local database with > 50k blocks and with an epoch duration that isn't too small (for example 30-60 min) in order to make sure that BEEFY catches up fast with the chain.

Started a zombienet with this strategy. Will need to leave it running for a couple of days in order to generate a big enough db.

serban300 added a commit that referenced this issue Jan 6, 2024
Related to #2787

Adding BEEFY support to the kitchensink chain in order to be able to
extend the current warp sync zombienet tests with BEEFY enabled
@serban300
Copy link
Contributor

Added BEEFY support to the kitchensink runtime. Now trying to extend the current warp sync tests (which were also built using the kitchensink runtime) with BEEFY.

Generated a couple of snapshots and experimenting with them. Most of the tests work. Just having some issues with 0002-validators-warp-sync where the chain doesn't finalize blocks if I start it from my snapshots, or sometimes bob doesn't even warp sync (it gets stuck with 0 peers - all peers refuse the connection). Not sure if it's something related to the way I generate the snapshots. Investigating.

@serban300
Copy link
Contributor

serban300 commented Jan 10, 2024

Found the cause of the issue where for 0002-validators-warp-sync the chain doesn't finalize blocks, or doesn't warp sync. We need to generate the snapshot using --state-pruning archive --blocks-pruning archive. But still for 0002-validators-warp-sync BEEFY doesn't catch-up.

Published a PR that adds some basic BEEFY checks to the warp sync tests first. And I would like to investigate the remaining issue related to 0002-validators-warp-sync separately.

serban300 added a commit that referenced this issue Jan 11, 2024
Part of #2787

This is an initial PR that adds some basic BEEFY checks to the warp sync
zombienet tests. To be more specific, it does the following:
- Changes the snapshot used by the warp sync zombienet tests to one
built from an updated version of the kitchensink runtime, that supports
BEEFY
- Adds some basic BEEFY checks to the warp sync zombienet tests
- Deduplicates some params of the warp sync zombienet tests, making them
easier to extend
github-merge-queue bot pushed a commit that referenced this issue Jan 12, 2024
Related to #2787

Fixes `pallet_mmr::Config` for the kitchensink runtime
@serban300
Copy link
Contributor

The issue with 0002-validators-warp-sync was fixed by #2919

Regenerating the DB snapshot on top of that fix in #2928

github-merge-queue bot pushed a commit that referenced this issue Jan 15, 2024
Closes #2787

Regenerating the DB snapshot after fixing:
#2919

Now we can add some BEEFY checks to `0002-validators-warp-sync`
bgallois pushed a commit to duniter/duniter-polkadot-sdk that referenced this issue Mar 25, 2024
Related to paritytech#2787

Adding BEEFY support to the kitchensink chain in order to be able to
extend the current warp sync zombienet tests with BEEFY enabled
bgallois pushed a commit to duniter/duniter-polkadot-sdk that referenced this issue Mar 25, 2024
Part of paritytech#2787

This is an initial PR that adds some basic BEEFY checks to the warp sync
zombienet tests. To be more specific, it does the following:
- Changes the snapshot used by the warp sync zombienet tests to one
built from an updated version of the kitchensink runtime, that supports
BEEFY
- Adds some basic BEEFY checks to the warp sync zombienet tests
- Deduplicates some params of the warp sync zombienet tests, making them
easier to extend
bgallois pushed a commit to duniter/duniter-polkadot-sdk that referenced this issue Mar 25, 2024
Related to paritytech#2787

Fixes `pallet_mmr::Config` for the kitchensink runtime
bgallois pushed a commit to duniter/duniter-polkadot-sdk that referenced this issue Mar 25, 2024
Closes paritytech#2787

Regenerating the DB snapshot after fixing:
paritytech#2919

Now we can add some BEEFY checks to `0002-validators-warp-sync`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T10-tests This PR/Issue is related to tests.
Projects
Status: Draft
Development

Successfully merging a pull request may close this issue.

2 participants