Skip to content

Conversation

arnetheduck
Copy link
Member

When syncing, blocks have not been gossip-validated and are therefore prone to trivial faults like being known-unviable, duplicate or missing their parent.

In addition, the duplicate-block check in BlockProcessor was not considering the quarantine flow and would therefore cause recently-quarantined blocks to be silenty dropped when their parent appears delaying the sync end-game and thus causing longer startup resync time.

This PR verifies trivial conditions before performing execution validation thus avoiding duplicates and missing parents alike.

It also ensures that the fast-sync EL mode is used for finalized blocks even if the EL is timing out / slow to respond - this allows the CL to complete its sync faster and switch to "normal" lock-step at the head of the chain more quickly, thus also allowing the EL to access the latest consensensus information earlier.

When syncing, blocks have not been gossip-validated and are therefore
prone to trivial faults like being known-unviable, duplicate or missing
their parent.

In addition, the duplicate-block check in BlockProcessor was not
considering the quarantine flow and would therefore cause
recently-quarantined blocks to be silenty dropped when their parent
appears delaying the sync end-game and thus causing longer startup
resync time.

This PR verifies trivial conditions before performing execution
validation thus avoiding duplicates and missing parents alike.

It also ensures that the fast-sync EL mode is used for finalized blocks
even if the EL is timing out / slow to respond - this allows the CL to
complete its sync faster and switch to "normal" lock-step at the head of
the chain more quickly, thus also allowing the EL to access the latest
consensensus information earlier.
@github-actions
Copy link

github-actions bot commented Jul 7, 2023

Unit Test Results

         9 files  ±0    1 071 suites  ±0   39m 2s ⏱️ + 3m 20s
  3 711 tests ±0    3 432 ✔️ ±0  279 💤 ±0  0 ±0 
15 823 runs  ±0  15 518 ✔️ ±0  305 💤 ±0  0 ±0 

Results for commit 175bc3e. ± Comparison against base commit 54e1a36.

@arnetheduck arnetheduck enabled auto-merge (squash) July 11, 2023 14:29
@arnetheduck arnetheduck disabled auto-merge July 11, 2023 16:55
@arnetheduck arnetheduck merged commit a2adbf8 into unstable Jul 11, 2023
@arnetheduck arnetheduck deleted the pre-check-block branch July 11, 2023 16:55
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.

2 participants