Time-based expiration in LimitOrphanTxSize only when map is full. #9286

pull gmaxwell wants to merge 1 commits into bitcoin:master from gmaxwell:defer_orphan_exp changing 1 files +1 −1
  1. gmaxwell commented at 12:28 AM on December 6, 2016: contributor

    While testing using BIP152 using the orphan map I observed a round trip that occurred only because the relevant orphan was time based expired first.

    The purpose of the time based expiration is simply because the random eviction has particularly bad effects on chains of txn (it tends to poke holes in the chains, resulting in the pool filling with things that are unconnectable). As such, We don't really need the time based until just before the random eviction would take place.

  2. Time-based expiration in LimitOrphanTxSize only when map is full.
    While testing using BIP152 using the orphan map I observed a
    round trip that occurred only because the relevant orphan was
    time based expired first.
    
    The purpose of the time based expiration is simply because the
    random eviction has particularly bad effects on chains of txn
    (it tends to poke holes in the chains, resulting in the pool
    filling with things that are unconnectable).  As such, We don't
    really need the time based until just before the random eviction
    would take place.
    da4f35a356
  3. sipa commented at 7:38 AM on December 6, 2016: member

    Concept ACK.

    Also, we can avoid poking holes. We have a forward-pointing map (mapOrphansTransactionByPrev) - if random eviction selects an orphan which has descendants, we could randomly walk forward until we hit a leaf.

  4. gmaxwell commented at 3:10 AM on December 7, 2016: contributor

    Closing because we should just make this smarter and since it wouldn't get backported, no need to rush.

  5. gmaxwell closed this on Dec 7, 2016

  6. MarcoFalke locked this on Sep 8, 2021
Contributors

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: 2026-04-18 21:15 UTC

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