-
Notifications
You must be signed in to change notification settings - Fork 270
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Track L1 block for last L2 block body retrieved (#7927)
The archiver was keeping a single L1 pointer for L2 blocks, shared by block metadata and block bodies, using the min of the two. However, if a block metadata had no corresponding block body, then the L1 pointer would not be advanced, leading to the same block metadata to being downloaded again, which triggered an error of expected L2 block mismatch. Having no corresponding block body happens when the tx effects hash is not submitted by the sequencer, which happens when it is detected to have been uploaded already, which happens when the tx effects hash is repeated across two blocks, which happens when two blocks are empty (ie have only padding txs). By adding separate tracking pointers, we ensure that we don't accidentally process the same block header twice from the archiver. This PR also adds a try/catch to the archiver loop so it doesn't bring down the entire node if it runs into an error. Fixes #7918
- Loading branch information
1 parent
014b5f0
commit cd36be4
Showing
11 changed files
with
123 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.