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

Add table of always enabled feature gates #34766

Open
ripatel-fd opened this issue Jan 12, 2024 · 0 comments
Open

Add table of always enabled feature gates #34766

ripatel-fd opened this issue Jan 12, 2024 · 0 comments

Comments

@ripatel-fd
Copy link
Contributor

Problem

After each feature gate gets activated, in the next minor release, the code gets simplified to only keep logic in the feature gate activated state.

Every time this happens, that new release of the ledger tool might lose the ability to validate some old epochs.
However, the code does not keep track of which feature gates are hard-enabled.

Creating these issues:

  1. Replaying old ledgers fails with the cryptic error "Bank hash mismatch", and is not gracefully handled
  2. It is difficult to do Labs<>Firedancer compatibility testing (such as checking for differences executing instruction processing test vectors), because we don't know whether Labs and Firedancer implement the required intersection of feature sets for those tests

Proposed Solution

  • In feature_set.rs, add a table of always-enabled feature gates
  • Adjust the feature gate activation process to keep this table maintained
  • When replaying old ledgers, gracefully error if the old ledger lacks an activated feature account for any of the hardcoded feature IDs
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

No branches or pull requests

1 participant