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

Statelessnet-only: Move versions 68 and 69 back to 80 and 81. #11719

Closed
wants to merge 10 commits into from

Conversation

tayfunelmas
Copy link
Contributor

@tayfunelmas tayfunelmas commented Jul 4, 2024

This is on top of the stabilization PR #11701.

In statelessnet, the genesis version is above 68, so it assumes that genesis has the congestion control is enabled and hitting an issue that attempts to bootstap congestion info (again) and hitting missing state roots.

This change moves the version numbers for congestion control and stateless validation back to 80 and 81 to mitigate the problem. Only merging to statelessnet_master. This should not be merged to mainnet/testnet.

@tayfunelmas tayfunelmas marked this pull request as ready for review July 4, 2024 08:26
@tayfunelmas tayfunelmas requested a review from a team as a code owner July 4, 2024 08:26
@tayfunelmas tayfunelmas requested review from Longarithm, wacban and a team and removed request for a team July 4, 2024 08:26
Copy link
Contributor

@wacban wacban left a comment

Choose a reason for hiding this comment

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

please see the comment, otherwise looks good

@wacban
Copy link
Contributor

wacban commented Jul 4, 2024

btw if you are close to fixing that genesis congestion info bootstrapping it may be easier to just patch that

@tayfunelmas
Copy link
Contributor Author

btw if you are close to fixing that genesis congestion info bootstrapping it may be easier to just patch that

I do not think that will help because it will only work if the bootstrapping happens and saved to DB at the very beginning. For statelessnet, we already passed that point (state roots are already garbage collected).

@tayfunelmas
Copy link
Contributor Author

I am closing this since the failing integration tests are complicating the situation and it is risky to merge this. Instead I will send a simpler PR.

@tayfunelmas tayfunelmas closed this Jul 4, 2024
@tayfunelmas tayfunelmas deleted the statelessnet_stabilize branch July 4, 2024 17:42
github-merge-queue bot pushed a commit that referenced this pull request Jul 5, 2024
#11727)

This is a mitigation for the failure that is caused by the stabilization
PR #11701.

[Zulip
thread](https://near.zulipchat.com/#narrow/stream/308695-nearone.2Fprivate/topic/Cherrypicks.20to.20statelessnet.20branch/near/449016937)

Context: In statelessnet, the genesis version is above 68, so it assumes
that genesis has the congestion control is enabled and hitting an issue
that attempts to bootstrap congestion info (again) and hitting missing
state roots.

We attempted to move the version numbers for congestion control and
stateless validation back to 80 and 81 to mitigate the problem, [in this
PR](#11719) but it became
unnecessarily complex and risky.

Thus, in this PR, we simply bypass the problematic bootstrap for
statelessnet only. We moved the check for the chain id after the genesis
protocol version check so we will not run it for testnet and mainnet.
tayfunelmas added a commit that referenced this pull request Jul 5, 2024
#11727)

This is a mitigation for the failure that is caused by the stabilization
PR #11701.

[Zulip
thread](https://near.zulipchat.com/#narrow/stream/308695-nearone.2Fprivate/topic/Cherrypicks.20to.20statelessnet.20branch/near/449016937)

Context: In statelessnet, the genesis version is above 68, so it assumes
that genesis has the congestion control is enabled and hitting an issue
that attempts to bootstrap congestion info (again) and hitting missing
state roots.

We attempted to move the version numbers for congestion control and
stateless validation back to 80 and 81 to mitigate the problem, [in this
PR](#11719) but it became
unnecessarily complex and risky.

Thus, in this PR, we simply bypass the problematic bootstrap for
statelessnet only. We moved the check for the chain id after the genesis
protocol version check so we will not run it for testnet and mainnet.
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.

2 participants