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

Fix fee catchup after restart #2120

Closed
wants to merge 1 commit into from
Closed

Fix fee catchup after restart #2120

wants to merge 1 commit into from

Conversation

jbearer
Copy link
Member

@jbearer jbearer commented Oct 4, 2024

This PR reproduces and will fix an issue discovered in staging, in which, after a staggered restart of all nodes, the network has forgotten the fee state for all accounts except those which actively produced blocks during the restart. Since the state is needed for undecided blocks, it cannot directly be obtained from persisted merklized state, which is only available for decided blocks.

This PR:

  • Adds a restart-style test reproducing the issue
  • TODO adds a new catchup endpoint to fetch multiple accounts at once, for performance
  • TODO adds a new catchup endpoint to fetch an undecided leaf/proposal
  • TODO modifies fee account catchup to recursively reconstruct fee state by searching as far back as the last decided state and replaying headers

This PR does not:

  • Cache results of the recursive catchup in HotShot's state and leaf maps, to improve performance

This test reproduces an issue discovered in staging, in which, after
a staggered restart of all nodes, the network has forgotten the fee
state for all accounts except those which actively produced blocks
during the restart. Since the state is needed for undecided blocks,
it cannot directly be obtained from persisted merklized state, which
is only available for decided blocks.
@jbearer jbearer closed this Oct 10, 2024
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.

1 participant