txs being requested when they are already in the blockchain #4797

issue rebroad opened this issue on August 30, 2014
  1. rebroad commented at 11:46 PM on August 30, 2014: contributor

    An example transaction is "6603c701696be7d3ca6b540816627b4e3358d17cb92cc54466da6afb87b9615a".

    At 2014-08-30 17:04:46, it's accepted into my node's mempool:- 2014-08-30 17:04:46 AcceptToMemoryPool: peer=26 /Satoshi:0.8.6/ : accepted 6603c701696be7d3ca6b540816627b4e3358d17cb92cc54466da6afb87b9615a (poolsz 486)

    At 2014-08-30 17:08:25, the block containing this tx is received:- 2014-08-30 17:08:25 UpdateTip: new best=000000000000000007c2b4a744a51454c7809cf695fc33b2ee7153ff1d15cd2a height=318283 log2_work=80.436706 tx=45651627 date=2014-08-30 17:08:08 progress=0.999999

    At 2014-08-30 17:18:44, it's seen on the network again, and requested (dispite being in the blockchain), and identified as an orphan:- 2014-08-30 17:18:44 stored orphan tx 6603c701696be7d3ca6b540816627b4e3358d17cb92cc54466da6afb87b9615a (mapsz 1169)

    At 2014-08-30 17:49:18, it's still being requested by other nodes, but "notfound", because it's presumeably fallen out of the orphan tx pool:- 2014-08-30 17:49:18 notfound tx 6603c701696be7d3ca6b540816627b4e3358d17cb92cc54466da6afb87b9615a to peer=176

    Over an hour later, it's still being requested by up-to-date nodes:- 2014-08-30 18:16:56 notfound tx 6603c701696be7d3ca6b540816627b4e3358d17cb92cc54466da6afb87b9615a to peer=56 (/Satoshi:0.9.1/: version 70002)

  2. rebroad renamed this:
    txs being recognized as orphans when they are already in the blockchain
    txs being requested when they are already in the blockchain
    on Aug 30, 2014
  3. sipa commented at 11:50 PM on August 30, 2014: member

    Mildly annoying, but inevitable. We don't keep information around about fully spent transactions, so there's no way to know that a transaction was seen already.

  4. rebroad commented at 11:58 PM on August 30, 2014: contributor

    @sipa I see.. might it be useful to retain information about fully spent transactions for a couple of hours to reduce the orphan tx pool being filled with these? Also, why were nodes requesting this transaction from my node when it presumeably hadn't advertised that it had it?

  5. sipa commented at 7:56 PM on September 1, 2014: member

    Having those transactions in the orphan pool is generally harmless, except using memory that could be used by other transactions.

    From a memory usage optimization point of view it probably makes sense to keep an MRU list of spent mempool transactions.

  6. rebroad closed this on Sep 3, 2014

  7. DrahtBot 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-22 18:15 UTC

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