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

Supports deserializing accounts lt hash in snapshots #2994

Merged
merged 2 commits into from
Sep 27, 2024

Conversation

brooksprumo
Copy link

@brooksprumo brooksprumo commented Sep 26, 2024

Problem

The accounts lattice hash will be serialized to/deserialized from snapshots. In order to maintain snapshot compatibility between adjacent versions (edge <-> beta, and beta <-> stable), we must be able to deserialize (and ignore) the new field in adjacent version before we serialize the new field into snapshots.

Summary of Changes

Add support for deserializing the accounts lt hash in snapshots.

Note, the field is ignored (if present) for now.

Note 2, this PR will be backported to v2.0.

@brooksprumo brooksprumo self-assigned this Sep 26, 2024
@brooksprumo brooksprumo force-pushed the lthash/snapshot/deserialize branch from 4614c82 to 47cd37c Compare September 27, 2024 02:07
@brooksprumo brooksprumo force-pushed the lthash/snapshot/deserialize branch from f067788 to 00f2c9c Compare September 27, 2024 15:21
@brooksprumo brooksprumo marked this pull request as ready for review September 27, 2024 18:48
@brooksprumo brooksprumo added the v2.0 Backport to v2.0 branch label Sep 27, 2024
Copy link

mergify bot commented Sep 27, 2024

Backports to the beta branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. Exceptions include CI/metrics changes, CLI improvements and documentation updates on a case by case basis.

Copy link

@HaoranYi HaoranYi left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link

@jeffwashington jeffwashington left a comment

Choose a reason for hiding this comment

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

lgtm. yay!

@brooksprumo brooksprumo merged commit 690fad0 into anza-xyz:master Sep 27, 2024
52 checks passed
mergify bot pushed a commit that referenced this pull request Sep 27, 2024
(cherry picked from commit 690fad0)

# Conflicts:
#	accounts-db/src/accounts_hash.rs
#	runtime/src/serde_snapshot.rs
@brooksprumo brooksprumo deleted the lthash/snapshot/deserialize branch September 27, 2024 20:28
willhickey pushed a commit that referenced this pull request Sep 27, 2024
(cherry picked from commit 690fad0)

# Conflicts:
#	accounts-db/src/accounts_hash.rs
#	runtime/src/serde_snapshot.rs
willhickey pushed a commit that referenced this pull request Sep 28, 2024
(cherry picked from commit 690fad0)

# Conflicts:
#	accounts-db/src/accounts_hash.rs
#	runtime/src/serde_snapshot.rs
ray-kast pushed a commit to abklabs/agave that referenced this pull request Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v2.0 Backport to v2.0 branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants