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

Enable async backing for system parachains: Phase 1 #228

Conversation

s0me0ne-unkn0wn
Copy link
Contributor

This PR aims to prepare system parachains' runtimes for the async backing enabling. Namely, it:

  • Implements AuraUnincludedSegmentApi for every runtime;
  • Allows relay block numbers to increase monotonically (as opposed to increasing strictly) to enable producing more than one parablock on top of every relay block;
  • Enables constant Aura slot durations.

@joepetrowski
Copy link
Contributor

@georgepisaltu could you take a look too?

@alexggh
Copy link
Contributor

alexggh commented Mar 11, 2024

Are there any node equivalent changes ? And are there any dependencies between them, do they need to be deployed in a certain order ?

@s0me0ne-unkn0wn
Copy link
Contributor Author

@alexggh Yes, for both questions.

This is phase 1; that is, it doesn't change any behavior of the runtime or node, but it exposes new interfaces (namely AuraUnincludedSegmentApi) and otherwise prepares the runtime for async backing, relaxing the relay block number incrementation rules, etc.

Phase 2 will involve updating the node to use those interfaces (that is done in paritytech/polkadot-sdk#3630; testing and description are in progress). After phase 1 is enacted, we will merge phase 2 and start upgrading the collators. After that is done, everything will be async backing ready but still running at 12-sec blocktimes.

After that, at phase 3, one more update to the parachain runtimes will be made, bumping constants (slot duration, capacity, and velocity) to enable async backing with 6-sec blocktimes.

@eskimor
Copy link
Contributor

eskimor commented Mar 12, 2024

/merge

@fellowship-merge-bot
Copy link
Contributor

Enabled auto-merge in Pull Request

Available commands
  • /merge: Enables auto-merge for Pull Request
  • /merge cancel: Cancels auto-merge for Pull Request
  • /merge help: Shows this menu

For more information see the documentation

@fellowship-merge-bot fellowship-merge-bot bot enabled auto-merge (squash) March 12, 2024 10:50
@fellowship-merge-bot
Copy link
Contributor

Failed to update PR ❌

There was an error while trying to keep this PR up-to-date

You may have conflicts ‼️ or may have to manually sync it with the target branch 👉❇️

More info in the logs 📋

@fellowship-merge-bot
Copy link
Contributor

Failed to update PR ❌

There was an error while trying to keep this PR up-to-date

You may have conflicts ‼️ or may have to manually sync it with the target branch 👉❇️

More info in the logs 📋

auto-merge was automatically disabled March 13, 2024 17:13

Head branch was pushed to by a user without write access

@s0me0ne-unkn0wn
Copy link
Contributor Author

/merge

@fellowship-merge-bot
Copy link
Contributor

There was a problem running the action.

❌😵❌

Please find more information in the logs.

@s0me0ne-unkn0wn
Copy link
Contributor Author

Seems like it requires a re-review after manually merging main although the only change was in Changelog 🤷

@s0me0ne-unkn0wn s0me0ne-unkn0wn mentioned this pull request Mar 15, 2024
19 tasks
@eskimor
Copy link
Contributor

eskimor commented Mar 15, 2024

/merge

@fellowship-merge-bot fellowship-merge-bot bot enabled auto-merge (squash) March 15, 2024 18:02
@fellowship-merge-bot
Copy link
Contributor

Enabled auto-merge in Pull Request

Available commands
  • /merge: Enables auto-merge for Pull Request
  • /merge cancel: Cancels auto-merge for Pull Request
  • /merge help: Shows this menu

For more information see the documentation

@fellowship-merge-bot fellowship-merge-bot bot merged commit c5f8556 into polkadot-fellows:main Mar 15, 2024
29 of 30 checks passed
@s0me0ne-unkn0wn s0me0ne-unkn0wn deleted the async-backing-system-parachains-phase-1 branch March 16, 2024 08:34
github-merge-queue bot pushed a commit to paritytech/polkadot-sdk that referenced this pull request Apr 11, 2024
#3630)

This is phase 2 of async backing enablement for the system parachains on
the production networks. ~~It should be merged after
polkadot-fellows/runtimes#228 is enacted. After it is released,~~ all
the system parachain collators should be upgraded, and then we can
proceed with phase 3, which will enable async backing in the runtimes.

UPDATE: Indeed, we don't need to wait for the runtime upgrade enactions.
The lookahead collator handles the transition by itself, so we can
upgrade ASAP.

## Scope of changes

Here, we eliminate the dichotomy of having "generic Aura collators" for
the production system parachains and "lookahead Aura collators" for the
testnet system parachains. Now, all the collators are started as
lookahead ones, preserving the logic of transferring from the shell node
to Aura-enabled collators for the asset hubs. So, indeed, it simplifies
the parachain service logic, which cannot but rejoice.
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.

6 participants