[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
  1. fanquake commented at 1:25 pm on May 25, 2023: member
  2. fanquake added this to the milestone 25.1 on May 25, 2023
  3. DrahtBot commented at 1:25 pm on May 25, 2023: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    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.

  4. DrahtBot added the label Backport on May 25, 2023
  5. 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.

  6. fanquake force-pushed on Jun 2, 2023
  7. DrahtBot added the label CI failed on Jun 2, 2023
  8. alias BlockDownloadMap for mapBlocksInFlight
    Github-Pull: #27626
    Rebased-From: 86cff8bf18f2c6344a25ad8b81cf366201a73c36
    722361e129
  9. Remove nBlocksInFlight
    Github-Pull: #27626
    Rebased-From: a90595478dcf4e443cd15bbb822d485dc42bdb18
    a45159b8e2
  10. Convert mapBlocksInFlight to a multimap
    Github-Pull: #27626
    Rebased-From: cce96182ba2457335868c65dc16b081c3dee32ee
    38e3af9fad
  11. 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
    d1a93f5d41
  12. 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
    e66a5cbb56
  13. Add tests for parallel compact block downloads
    Github-Pull: #27626
    Rebased-From: d7f359b35e8b1e9acc4d397de262cd9ba9bbcb83
    cdd3de08e3
  14. Unconditionally return when compact block status == READ_STATUS_FAILED
    Github-Pull: #27743
    Rebased-From: d97269579769effbe6eec2303ea0cc3e396d3e0d
    b8ad3220a9
  15. fanquake force-pushed on Jun 16, 2023
  16. DrahtBot removed the label CI failed on Jun 16, 2023
  17. fanquake marked this as ready for review on Jun 30, 2023
  18. fanquake requested review from instagibbs on Jun 30, 2023
  19. fanquake requested review from ajtowns on Jul 2, 2023
  20. DrahtBot removed review request from instagibbs on Jul 3, 2023
  21. DrahtBot requested review from Sjors on Jul 3, 2023
  22. 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
  23. DrahtBot removed review request from ajtowns on Jul 4, 2023
  24. fanquake merged this on Jul 4, 2023
  25. fanquake closed this on Jul 4, 2023

  26. fanquake deleted the branch on Jul 4, 2023
  27. bitcoin locked this on Jul 3, 2024


fanquake DrahtBot Sjors instagibbs ajtowns


Sjors

Labels
Backport

Milestone
25.1


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-07-03 22:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me