-
Notifications
You must be signed in to change notification settings - Fork 337
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
Update dependencies to v0.9.8 series #587
Conversation
AFAICT we dont need runtime mgirations right? Based on #586 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Although the tests here are green, there is a slot prediction issue in this nimbus branch. It will result in nodes incorrectly predicting the slots in which they are eligible which has two consequences:
- not authoring when you should -> slower network aggregate block production
- authoring hen you shouldn't -> Bad Mandatory error (but no other side effects)
I've made the fix and pushed it to thejoshy-np098
branch of cumulus. So to move forward we could either use my branch (which also includes a few other not-that-significant changes to nimbus) or get the changes into the current nimbus-polkadot-v0.9.8
branch.
After that we need to make a slight change to the author filter api in each runtime.
@@ -99,6 +100,10 @@ macro_rules! impl_runtime_apis_plus_common { | |||
use moonbeam_evm_tracer::{CallListTracer, RawTracer}; | |||
use moonbeam_rpc_primitives_debug::single::TraceType; | |||
|
|||
// Explicit initialize. | |||
// Needed because https://github.com/paritytech/substrate/pull/8953 | |||
Executive::initialize_block(header); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
The change in the author prediction api means that the client should be upgraded along with the runtime. Any client that does not upgrade will not reliably predict slot eligibility. Failing to upgrade would not be catastrophic, but would lead to reduced block production because collators would sometimes predict ineligibility and therefore not author when in fact they were eligible. Any node operator who doesn't upgrade will see BadMandatory occasionally, when they predict that they will be eligible, but in fact are not. Might be worth editing that into the PR description. |
# Conflicts: # runtime/moonbase/src/lib.rs # runtime/moonbeam/src/lib.rs # runtime/moonshadow/src/lib.rs
# Conflicts: # client/rpc/debug/src/lib.rs # client/rpc/trace/src/lib.rs # primitives/rpc/debug/Cargo.toml # runtime/evm_tracer/Cargo.toml
paritytech/substrate#8953 introduced a change where block are not initialized in runtime api calls anymore. That change affects our trace runtime apis, so in this PR we also include an explicit initialization for this calls.