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

[EFM Recovery] Backward Compatibility for DKGEndState field #6786

Open
jordanschalm opened this issue Dec 6, 2024 · 0 comments
Open

[EFM Recovery] Backward Compatibility for DKGEndState field #6786

jordanschalm opened this issue Dec 6, 2024 · 0 comments
Assignees
Labels
Protocol Team: Issues assigned to the Protocol Pillar. S-BFT

Comments

@jordanschalm
Copy link
Member

Context

We are deploying EFM Recovery as a Protocol HCU, so software changes need to be backward compatible with existing state and upgrade-safe. See Upgrade Plan (Notion) for details.

This issue is for implementing backward-compatibility for the DKGEndState (old) and DKGState (new) database "columns". In the current software version, a different incompatible enum is used, so when we read the database using new software, it will behave incorrectly (see #6771 (comment)).

2 Possible approaches:

  • Implement a database migration which occurs during the upgrade, in the Protocol State Machine
  • Change the new enum definition to be backward compatible with the old enum (same success state, failure and in-progress states will still mean different things...)

Definition of Done

  • Implement one of above approaches
  • Test new software version against prior-version database state (or migration)
@jordanschalm jordanschalm added Protocol Team: Issues assigned to the Protocol Pillar. S-BFT labels Dec 6, 2024
@durkmurder durkmurder self-assigned this Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Protocol Team: Issues assigned to the Protocol Pillar. S-BFT
Projects
None yet
Development

No branches or pull requests

3 participants