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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix sequence skipping when a collator misses its slot #846

Merged
merged 6 commits into from
Oct 14, 2022

Conversation

Garandor
Copy link
Contributor

@Garandor Garandor commented Oct 14, 2022

Description

  • Block production now skips all evenodd relaychain block numbers
  • Also changes nimbus to pull from tag instead of branch
  • Also changes the non-eligible log print to
    馃敭 Skipping candidate production because we are not eligible for slot 1234
    to clarify non-eligibility only for the current slot

Nimbus diff: Manta-Network/nimbus@manta-v3.4.1...Manta-Network:nimbus:v3.4.3

closes #845
closes #799
prep for #825


Before we can approve this PR for merge, please make sure that all the following items have been checked off:

  • Linked to Github issue with discussion and accepted design OR have an explanation in the PR that describes this work.
  • Added one label out of the L- group to this PR
  • Added one or more labels from the A- and C- groups to this PR
  • Explicitly labelled A-calamari, A-dolphin and/or A-manta if your changes are meant for/impact either of these (CI depends on it)
  • This PR is targeted against the current Milestone ( otherwise discuss if it can be added in time)
  • Re-reviewed Files changed in the Github PR explorer.

Situational Notes:

  • If adding functionality, write unit tests!
  • If importing a new pallet, choose a proper module index for it, and allow it in BaseFilter. Ensure every extrinsic works from front-end. If there's corresponding tool, ensure both work for each other.
  • If needed, update our Javascript/Typescript APIs. These APIs are officially used by exchanges or community developers.
  • If modifying existing runtime storage items, make sure to implement storage migrations for the runtime and test them with try-runtime. This includes migrations inherited from upstream changes, and you can search the diffs for modifications of #[pallet::storage] items to check for any.
  • If runtime changes, need to update the version numbers properly:
    • authoring_version: The version of the authorship interface. An authoring node will not attempt to author blocks unless this is equal to its native runtime.
    • spec_version: The version of the runtime specification. A full node will not attempt to use its native runtime in substitute for the on-chain Wasm runtime unless all of spec_name, spec_version, and authoring_version are the same between Wasm and native.
    • impl_version: The version of the implementation of the specification. Nodes are free to ignore this; it serves only as an indication that the code is different; as long as the other two versions are the same then while the actual code may be different, it is nonetheless required to do the same thing. Non-consensus-breaking optimizations are about the only changes that could be made which would result in only the impl_version changing.
    • transaction_version: The version of the extrinsics interface. This number must be updated in the following circumstances: extrinsic parameters (number, order, or types) have been changed; extrinsics or pallets have been removed; or the pallet order in the construct_runtime! macro or extrinsic order in a pallet has been changed. You can run the metadata_diff.yml workflow for help. If this number is updated, then the spec_version must also be updated
  • Verify benchmarks & weights have been updated for any modified runtime logics

Adam Reif added 2 commits October 13, 2022 13:09
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
@Garandor Garandor self-assigned this Oct 14, 2022
@Garandor Garandor added C-bug Category: Issues documenting a bug A-calamari Area: Issues and PRs related to the Calamari Runtime A-consensus Area: Issues and PRs related to Consensus L-fixed Log: Issues and PRs related to bug fixes labels Oct 14, 2022
@Garandor Garandor added this to the 3.4.3 milestone Oct 14, 2022
Signed-off-by: Adam Reif <Garandor@manta.network>
@Garandor Garandor marked this pull request as ready for review October 14, 2022 02:17
@ghzlatarev
Copy link
Contributor

pallet_author_inherent benchmark is failing with `panicked at Block invalid, supplied author is not eligible. ',/home/georgi/.cargo/git/checkouts/nimbus-43d01ec6e06cfb96/1b1e46f/pallets/author-inherent/src/lib.rs:133
because we're producing on an odd block not even so the first one is not eligible.
We could just change that if, I don't think it matters overall whether we do odd or even.

Adam Reif and others added 3 commits October 14, 2022 14:34
Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: Adam Reif <Garandor@manta.network>
Copy link
Contributor

@ferrell-code ferrell-code left a comment

Choose a reason for hiding this comment

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

lgtm

@Garandor Garandor merged commit aace23b into manta Oct 14, 2022
@Garandor Garandor deleted the garandor/slot-skip-fix branch October 14, 2022 22:38
zqhxuyuan pushed a commit that referenced this pull request Dec 7, 2022
* patch nimbus to fix block production sequence

Signed-off-by: Adam Reif <Garandor@manta.network>

* Update nimbus to a) fix block skipping and b) improve ineligible log

Signed-off-by: Adam Reif <Garandor@manta.network>

* cleanup

Signed-off-by: Adam Reif <Garandor@manta.network>

* update nimbus, produce on even, sanity check

Signed-off-by: Adam Reif <Garandor@manta.network>

Signed-off-by: Adam Reif <Garandor@manta.network>
Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-calamari Area: Issues and PRs related to the Calamari Runtime A-consensus Area: Issues and PRs related to Consensus C-bug Category: Issues documenting a bug L-fixed Log: Issues and PRs related to bug fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Calamari bug on block assignment Update nimbus to add clarifying slot skip log
3 participants