Skip to content

Conversation

michaelsproul
Copy link
Member

Issue Addressed

Attempt to fix an issue whereby xdelta3 would try to guess the size of the output buffer during diff application. If the guess was incorrect, an error would be returned and the diff application would not be re-attempted.

This branch uses an exponential doubling of the output buffer in the case of an insufficient space error, meaning that diffs should never fail due to insufficient space.

We are waiting on confirmation from a node operator on Holesky that this actually fixes the issue. We will also sync a Holesky archive node on our infra to try to repro the issue.

Additional Info

Requires this upstream PR:

@michaelsproul michaelsproul added database tree-states Ongoing state and database overhaul v7.0.0 New release c. Q1 2025 bug Something isn't working labels Mar 20, 2025
@michaelsproul
Copy link
Member Author

My suspicion is that this was triggered on Holesky at slot 3670016, as that is around when the operator started seeing the errors. That slot is a multiple of 2^18, so it would have resulted in a diff being stored from the snapshot: 2097152 -> 3670016.

I don't understand why this diff would be so large though, as there were already 1.66M validators on Holesky at this time (https://light-holesky.beaconcha.in/epoch/65536). It might have been a bunch of the churn generated by the non-finality incident, but we would need to see that diff to understand more.

I'm working on syncing a Holesky archive node so we can have a closer look.

@michaelsproul michaelsproul requested a review from dapplion March 25, 2025 03:35
Copy link
Collaborator

@dapplion dapplion left a comment

Choose a reason for hiding this comment

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

LGTM

@michaelsproul michaelsproul merged commit 7d792e6 into release-v7.0.0 Mar 27, 2025
24 checks passed
@michaelsproul michaelsproul deleted the xdelta-fix branch March 27, 2025 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working database tree-states Ongoing state and database overhaul v7.0.0 New release c. Q1 2025
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants