op-node: P2P req-resp alt sync method support#5180
Conversation
|
009bf1f to
34fec18
Compare
|
Hey @protolambda! This PR has merge conflicts. Please fix them before continuing review. |
b2d560c to
6468cf8
Compare
6468cf8 to
e8c9d29
Compare
34fec18 to
d0047bd
Compare
e8c9d29 to
ef39cef
Compare
93682ce to
cdac097
Compare
|
Hey @protolambda! This PR has merge conflicts. Please fix them before continuing review. |
ef39cef to
0c3bd9e
Compare
✅ Deploy Preview for opstack-docs canceled.
|
9e68b10 to
37f7637
Compare
dab2192 to
72ba688
Compare
Signed-off-by: protolambda <proto@protolambda.com>
72ba688 to
0d7859b
Compare
|
Does this also fix CLI-3117? |
|
@sebastianst no it does not. That issue also covers other LRU caches that we already have, which are still using v1. For the new things I introduce here I figured I should adopt v2 from the start. I added more details to the issue to point to the v1 usages. |
|
Semgrep found 1
Unchecked type assertion. Created by unchecked-type-assertion. |
c217da2 to
62dffcc
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## develop #5180 +/- ##
===========================================
- Coverage 39.32% 36.34% -2.98%
===========================================
Files 389 235 -154
Lines 25048 21072 -3976
Branches 838 0 -838
===========================================
- Hits 9849 7658 -2191
+ Misses 14461 12674 -1787
- Partials 738 740 +2
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
This PR has been added to the merge queue, and will be merged soon. |
|
This PR is next in line to be merged, and will be merged as soon as checks pass. |
1 similar comment
|
This PR is next in line to be merged, and will be merged as soon as checks pass. |
Description
Experimental feature: P2P Req-resp based L2 block syncing, to ensure the tip of the L2 chain is more reliably synced when data is slow to confirm in L1 or L2 gossip is missed.
This PR implements parallel block-fetching, a small quarantine for the results, and a promotion-process to get verify things by parent-hash against blocks with established trust (e.g. parent blocks of requested sync targets, or parent blocks of previously promoted blocks). This is effectively a reverse-header-sync implementation that can balances the work between peers.
Changes:
p2p/sync.go, including:This functionality is off by default, since production-use relies on peer-scoring / banning to make sure the new p2p surface cannot be misused (aside from the rate-limits that are already there), and test-running this with a feature-flag on testnets will help harden it too.
Tests
Metadata
Fix CLI-3644