-
Notifications
You must be signed in to change notification settings - Fork 654
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
🔷 [ProjectTracking] Sequential protocol upgrades in one release #10911
Comments
We should absolutely do this and it conveniently seems like a relatively easy task. Once it's done we should also establish some good practices around having separate versions and dates for different features within one release. The only drawback that I see is that the latter features within a release will get a little less time in testnet but that is easily fixable. |
I'm going to look into it. We may want to do it in 1.41 to separate congestion control and stateless validation. |
Goal
Have several protocol upgrades in one release.
Background
We performed two resharding on mainnet via making targeted 1.38 release. And although this feature would not have helped a lot in that situation (as we only decided to do the second resharding after the testnet already has been resharded once), the flow of releasing one binary that has two protocol upgrades separated by two days is easier than trying to release two binaries on one week and make sure that all of the community is adopting both changes in time.
Context
We have exactly one protocol upgrade per release (it can be empty, but we still agree that we want to bump protocol version every release). As a result, this upgrade can include roll-out of several features at once. Bundling features is dangerous, and for some features it is even impossible. This creates a situation, where features developers have to be aware of each others release dates and make sure that their feature is stabilised only in the next release.
Why should NEAR One work on this
What needs to be accomplished
From technical point of view, we need to support a vector of voting dates, and refactor
nearcore/core/primitives/src/upgrade_schedule.rs
Line 52 in f37edc0
Main use case
Links to external documentation and discussion
TODO: add link to how voting works
Estimated effort
TODO: precise estimation
This project is quite short. One engineer should be done in two weeks.
Assumptions
TODO
Pre-requisites
TODO
Out of scope
TODO
Task list
TODO
The text was updated successfully, but these errors were encountered: