Backports:
[25.x] Parallel compact block downloads #27752
pull fanquake wants to merge 7 commits into bitcoin:25.x from fanquake:25_x_backport_cmpt_blk changing 5 files +241 −75-
fanquake commented at 1:25 PM on May 25, 2023: member
- fanquake added this to the milestone 25.1 on May 25, 2023
-
DrahtBot commented at 1:25 PM on May 25, 2023: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline for information on the review process.
Type Reviewers ACK instagibbs, ajtowns Stale ACK Sjors If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
- DrahtBot added the label Backport on May 25, 2023
-
Sjors commented at 1:26 PM on May 27, 2023: member
utACK 50c86f57af5c6a9aa2e4828aeb67d641340b0860
I got a bit confused because this PR builds on slightly older 25.x commit.
- fanquake force-pushed on Jun 2, 2023
- DrahtBot added the label CI failed on Jun 2, 2023
-
722361e129
alias BlockDownloadMap for mapBlocksInFlight
Github-Pull: #27626 Rebased-From: 86cff8bf18f2c6344a25ad8b81cf366201a73c36
-
a45159b8e2
Remove nBlocksInFlight
Github-Pull: #27626 Rebased-From: a90595478dcf4e443cd15bbb822d485dc42bdb18
-
38e3af9fad
Convert mapBlocksInFlight to a multimap
Github-Pull: #27626 Rebased-From: cce96182ba2457335868c65dc16b081c3dee32ee
-
d1a93f5d41
Only request full blocks from the peer we thought had the block in-flight
This is a change in behavior so that if for some reason we request a block from a peer, we don't allow an unsolicited CMPCT_BLOCK announcement for that same block to cause a request for a full block from the uninvited peer (as some type of request is already outstanding from the original peer) Github-Pull: #27626 Rebased-From: 13f9b20b4cb2f3f26e81184a77e9cf1f626d4f57
-
e66a5cbb56
Support up to 3 parallel compact block txn fetchings
A single outbound slot is required, so if the first two slots are taken by inbound in-flights, the node will reject additional unless they are coming from outbound. This means in the case where a fast sybil peer is attempting to stall out a node, a single high bandwidth outbound peer can mitigate the attack. Github-Pull: #27626 Rebased-From: 03423f8bd12b95a06a4a9d8377e781625dd38aae
-
cdd3de08e3
Add tests for parallel compact block downloads
Github-Pull: #27626 Rebased-From: d7f359b35e8b1e9acc4d397de262cd9ba9bbcb83
-
b8ad3220a9
Unconditionally return when compact block status == READ_STATUS_FAILED
Github-Pull: #27743 Rebased-From: d97269579769effbe6eec2303ea0cc3e396d3e0d
- fanquake force-pushed on Jun 16, 2023
- DrahtBot removed the label CI failed on Jun 16, 2023
- fanquake marked this as ready for review on Jun 30, 2023
- fanquake requested review from instagibbs on Jun 30, 2023
- fanquake requested review from ajtowns on Jul 2, 2023
-
instagibbs commented at 5:26 PM on July 3, 2023: member
- DrahtBot removed review request from instagibbs on Jul 3, 2023
- DrahtBot requested review from Sjors on Jul 3, 2023
-
ajtowns commented at 10:16 AM on July 4, 2023: contributor
ACK b8ad3220a9068f10c2b3b14b40f211372aeece31 ; confirmed patches are clean cherry-picks from master, and already tested patches prior to 25.0 release
- DrahtBot removed review request from ajtowns on Jul 4, 2023
- fanquake merged this on Jul 4, 2023
- fanquake closed this on Jul 4, 2023
- fanquake deleted the branch on Jul 4, 2023
- bitcoin locked this on Jul 3, 2024