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

Maybe closes #64 #6029

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft

Maybe closes #64 #6029

wants to merge 4 commits into from

Conversation

ordian
Copy link
Member

@ordian ordian commented Oct 11, 2024

Closes #64

This PR implements approach 4 outlined in the issue.

Unresolved questions:

  • Does the CallContext::{Offchain, Onchain} determine whether it's runtime calls / (block production or import)?
  • Do we want to pass IgnorePendingCode regardless in the higher level APIs?
  • dryRun RPC call will not work properly on the block setting the pending code, right? Is that a problem?

TODO:

* master: (28 commits)
  `substrate-node`: removed excessive polkadot-sdk features (#5925)
  Rename QueueEvent::StartWork (#6015)
  [ci] Remove quick-benchmarks-omni from GitLab (#6014)
  Set larger timeout for cmd.yml (#6006)
  Fix `0003-beefy-and-mmr` test (#6003)
  Remove redundant XCMs from dry run's forwarded xcms (#5913)
  Add RadiumBlock bootnodes to Coretime Polkadot Chain spec (#5967)
  Bump strum from 0.26.2 to 0.26.3 (#5943)
  Add PVF execution priority (#4837)
  Snowbridge V2 docs (#5902)
  Fix u256 conversion in BABE (#5994)
  [ci] Move test-linux-stable-no-try-runtime to GHA (#5979)
  Bump PoV request timeout (#5924)
  [Release/CI] Github flow to build `polkadot`/`polkadot-parachain` rc binaries and deb package (#5963)
  [ci] Remove short-benchmarks from Gitlab (#5988)
  Disable flaky tests reported in 5972/5973/5974 (#5976)
  Bump some dependencies (#5886)
  bump zombienet version and set request for k8s (#5968)
  [omni-bencher] Make all runtimes work (#5872)
  Omni-Node renamings (#5915)
  ...
@bkchr
Copy link
Member

bkchr commented Oct 11, 2024

  • dryRun RPC call will not work properly on the block setting the pending code, right? Is that a problem?

Why?

make sure this #64 (comment) is not a problem

This also happens in the block before. Not sure how this should be a problem in the runtime upgrade block. Yes, it decreases the available PoV size, but then we need to use multi block migrations.

@ordian
Copy link
Member Author

ordian commented Oct 11, 2024

dryRun RPC call will not work properly on the block setting the pending code, right? Is that a problem?

Why?

If we try to check a transaction at the block that sets the new code as pending code, it will use the old code for checking it (because RPC uses a runtime call with offchain context), but the next block will use the new code. So even though transaction might be valid with old code, it might be invalid with the new one (or vice versa). Am I missing something here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

After runtime upgrade, Runtime API calls use new code with unmigrated storage
2 participants