large orphan transactions are left in askfor queue even when rejected #3774

issue rebroad opened this issue on March 1, 2014
  1. rebroad commented at 6:32 PM on March 1, 2014: contributor

    i.e. in the debug.log extract below, at 18:02:59 the tx is added to the askfor queue for node 6, the tx then comes through from node 2 and is rejected, but it stays in the askfor queue for node 6 because at 18:04:58 a getdata tx is sent to node 6.

    The tx is also requested from other nodes, but this is because the inv for the tx comes through after the tx is rejected and the node doesn't keep track of recently rejected txs. This would involve a different fix (e.g. remembering rejected txs for a minute after rejecting them) - I've already raised a separate issue for this.

    2014-03-01 18:02:59 received: inv (37 bytes) node=2 2014-03-01 18:02:59 got inventory: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 new 2014-03-01 18:02:59 askfor tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 0 (00:00:00) 2014-03-01 18:02:59 sending getdata: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 node=2 2014-03-01 18:02:59 received: inv (37 bytes) node=6 2014-03-01 18:02:59 got inventory: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 new 2014-03-01 18:02:59 askfor tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 1393696978288703 (18:02:58) 2014-03-01 18:02:59 received: tx (5018 bytes) node=2 2014-03-01 18:02:59 ignoring large orphan tx (size: 5018, hash: bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859) 2014-03-01 18:02:59 received: inv (37 bytes) node=4 2014-03-01 18:02:59 got inventory: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 new 2014-03-01 18:02:59 askfor tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 1393697098288703 (18:04:58) 2014-03-01 18:02:59 received: inv (73 bytes) node=7 2014-03-01 18:02:59 got inventory: tx f79daee8051ef70319a53f9e0bb69c6f9034b4f24ba33efa63ceaa1d6383a7a2 have 2014-03-01 18:02:59 got inventory: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 new 2014-03-01 18:02:59 askfor tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 1393697218288703 (18:06:58) 2014-03-01 18:03:01 received: inv (109 bytes) node=3 2014-03-01 18:03:01 got inventory: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 new 2014-03-01 18:03:01 askfor tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 1393697338288703 (18:08:58) 2014-03-01 18:03:01 received: inv (73 bytes) node=8 2014-03-01 18:03:01 got inventory: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 new 2014-03-01 18:03:01 askfor tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 1393697458288703 (18:10:58) 2014-03-01 18:04:58 sending getdata: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 node=6 2014-03-01 18:04:58 received: tx (5018 bytes) node=6 2014-03-01 18:04:58 ignoring large orphan tx (size: 5018, hash: bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859) 2014-03-01 18:06:58 sending getdata: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 node=4 2014-03-01 18:08:58 sending getdata: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 node=7 2014-03-01 18:10:58 sending getdata: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 node=3 2014-03-01 18:12:58 sending getdata: tx bc03a05296148ea7bc94f012f64be8c67a67bbe600b653468268a9e7a8310859 node=8

  2. rebroad commented at 6:36 PM on March 1, 2014: contributor

    I'm happy to work on a fix for this (including remembering rejecting transactions for a minute after they've been rejected) if anyone thinks this would be useful functionality. Please let me know.

  3. laanwj added the label P2P on Jul 31, 2014
  4. kazcw commented at 11:18 PM on July 31, 2014: contributor

    I think #4542 effectively implements your suggested fix

  5. rebroad commented at 4:05 PM on December 27, 2016: contributor

    #7079 probably fixed this

  6. rebroad closed this on Dec 27, 2016

  7. MarcoFalke locked this on Sep 8, 2021
Contributors
Labels

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