paritytech / paritytech/try-runtime-cli

Allow whitelisting some keys for idempotency check

Open
#79 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
25
Forks
29
PR merge metrics
No merged PRs in 30d

Description

Recently we have had the try-runtime tool fail in tanssi because of a state mismatch when running the idempotent check. The cause was 2 keys in pallet system: events and eventsCount, which changed because one of our migrations emitted an event to signal the start of the migration. Since events don't really affect chain state, we would like to ignore them.

Not sure how to implement this, we could hardcode some known keys and ignore them in the state diff comparison, or simply allow users to pass some flag with a list of keys to ignore.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names the try-runtime tool, its idempotent check, and the state diff comparison, but no files or tests. Start by locating the idempotency-check implementation and how state keys are compared; done means users can configure keys such as events and eventsCount to be ignored without masking other mismatches.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.