-
Notifications
You must be signed in to change notification settings - Fork 709
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
Parachains-Aura: Only produce once per slot #3308
Conversation
Given how the block production is driven for Parachains right now, with the enabling of async backing we would produce two blocks per slot. Until we have a proper collator implementation, the "hack" is to prevent the production of multiple blocks per slot.
Hmm why do we need this? After switching to the lookahead collator, everything seems to be fine: #3282 (comment) |
Once we enable async backing in kusama everyone will get this warnings in their logs, it would help if we can just point them to a new release that they can just pick without them having to switch to the lookahead collator. |
This requires everyone to switch and also this implementation is "broken" the way it is. |
if last_processed_slot >= *claim.slot() { | ||
continue | ||
} else { | ||
last_processed_slot = *claim.slot(); |
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.
Can we move this assignment at the end of the loop, so that we don't save the slot in case we have errors down the road and let the next block try as well.
Just want to be extra safe and make sure we don't end up in a situation where at first slot pass we don't build the block because runtime doesn't accept it and then at second pass we don't even try anymore.
My main concern was that by upgrading the runtime according to the upgrade guide, you will have a runtime with the parameterized |
The point being that this error also appearing without you having done any kind of upgrade of your runtime. Without you having done any "preparations" for async backing. The problem is that we call every 6s into block production and it builds a block every 6s, which is forbidden with a slot duration of 12s and no special Looking for example at
|
Given how the block production is driven for Parachains right now, with the enabling of async backing we would produce two blocks per slot. Until we have a proper collator implementation, the "hack" is to prevent the production of multiple blocks per slot.
Closes: #3282