-
Notifications
You must be signed in to change notification settings - Fork 2.6k
pallet-aura: Allow multiple blocks per slot #14024
pallet-aura: Allow multiple blocks per slot #14024
Conversation
But a full runtime upgrade is required anyway? The main point between storage vs config is that if we have the needs to toggle this value by governance without runtime upgrade. I can't think much use cases for now. |
Another point is also that a config type is that we don't need to read the storage for checking the value and reading the storage is "expensive". Especially for something probably never changes that often. So, please make this a config type. |
What I mean is that we can ship this in Substrate master now without worrying about breaking downstream users' runtimes or behaviors, and then those parachains' governance systems can change the storage item when enabling asynchronous backing. One of the concerns I hear the most is about breaking changes where alterations to Substrate master cause compiler errors in users' runtimes they have to fix. I am trying to avoid that but getting mixed signals now. Three options:
|
I mean that is a fine consideration, but we are doing much more crazy breaking changes. If you write a proper explanation in your pr description on what people should do, it will be a no brainer for them to upgrade. The explanation is also rather trivial. |
You can also do a feature branch, if you feel better with this. I don't care, but the current storage value is a no go. |
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.
Codewise obviously LGTM.
About the Config
vs Storage
. Frankly I would go with the Config
as well and introduce the breaking change
Comments have been heard re the |
adf0589
to
e595b23
Compare
I'm not sure if we have Cumulus companions yet, but I opened paritytech/cumulus#2707 to merge as soon as this goes in. |
bot merge |
Error: "Check reviews" status is not passing for paritytech/cumulus#2707 |
bot merge |
Error: "Check reviews" status is not passing for paritytech/cumulus#2707 |
bot merge |
* pallet-aura: Allow multiple blocks per slot * run fmt * rework as associated type * fix fallout * fmt * use constbool * fmt
This amends pallet-aura to optionally allow sequential blocks to be authored within the same slot. This is being done for paritytech/cumulus#2476 , as we often need to create a 'backlog' of blocks to post to the relay chain, and therefore can temporarily require block production to speed up.
This will also be useful for further roadmap items like elastic scaling and parallel block production, where chains need to make multiple blocks per slot for longer periods of time as well.
Update Guide
Set the new
AllowMultipleBlocksPerSlot
tofalse
to maintain current behavior. Setting this value totrue
will be necessary for parachains looking to enable asynchronous backing later on, but this will require other changes alongside.Example:
cumulus companion: paritytech/cumulus#2707