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

🚑️ Use only the WasmExecutor #251

Merged
merged 2 commits into from
Apr 22, 2024
Merged

Conversation

lrazovic
Copy link
Member

What?

Why?

  • After the latest runtime upgrade we encountered several synchronisation problems between nodes because some nodes used a native runtime different from the canonical one (the WASM one).

the native runtime is compiled natively into the node and brings some better performance than the wasm runtime. However, when you upgrade the runtime on chain you always send the wasm runtime. The wasm runtime is the canonical one.

src: https://substrate.stackexchange.com/a/153/3722

@lrazovic lrazovic self-assigned this Apr 19, 2024
@lrazovic lrazovic changed the title chore: use only the WasmExecutor 🚑️ Use only the WasmExecutor Apr 19, 2024
Copy link
Contributor

@JuaniRios JuaniRios left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small NIT.

Can't judge the logic of this change since I'm not familiar with the node logic, but I guess we trust Basti's fix in Encointer per the link given. This seems 1 to 1 their change

nodes/parachain/Cargo.toml Outdated Show resolved Hide resolved
Co-authored-by: Juan Ignacio Rios <[email protected]>
Copy link
Collaborator

@vstam1 vstam1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like Juan said, do not 100% understand the logic, but looks like 1 to 1 with encointer. What is the best way to test this change? Running new node? Upgrading our nodes?

@lrazovic
Copy link
Member Author

Like Juan said, do not 100% understand the logic, but looks like 1 to 1 with encointer. What is the best way to test this change? Running new node? Upgrading our nodes?

We can:

  • Upgrade all the Politest nodes.
  • Upgrade half of the Rolimec nodes.
  • Perform a runtime upgrade on Politest.
  • Perform a runtime upgrade on Rolimec.

If we encounter any issues, we can revert these changes and consider alternative solutions. I've already successfully synced a Polimec RPC node from scratch, and it seems to be working fine.

@vstam1
Copy link
Collaborator

vstam1 commented Apr 22, 2024

Alright lets merge and keep track of the upgrade process to see if we encounter problems!

@JuaniRios JuaniRios merged commit 07ac140 into main Apr 22, 2024
@JuaniRios JuaniRios deleted the feat/remove-native-runtime branch April 22, 2024 12:12
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.

3 participants