WIP: Reduce MinRelayFee slower when Mempool utilised and faster when needed. #21618

pull rebroad wants to merge 2 commits into bitcoin:master from rebroad:MinRelayFeeReductionChanges changing 4 files +12 −44
  1. rebroad commented at 3:02 pm on April 6, 2021: contributor

    I’m not sure whether to label this WIP or not. It’s a little experimental, and perhaps only needed on nodes with a small maxmempool (tested on 50MB).

    It’s attempting to address the issue #21558

    Example in action:- image

  2. DrahtBot added the label Mempool on Apr 6, 2021
  3. JeremyRubin commented at 4:45 pm on April 6, 2021: contributor

    interesting!

    Can you comment the code a bit better I found it a bit confusing how it’s working.

  4. rebroad commented at 10:09 am on April 10, 2021: contributor

    Upon further testing, this algo is broken as the minfee should never go up unless it’s during the process of deleting TXs from the mempool - if it goes up in any other event, then this creates a band of missing TXs due to my addition of not reducing the minfee until mempool utilization goes below 90% (or 80%) - it just pads the mempool with low Sat/B TXs which never get used.

    So, the algo needs to change to either remove the condition (of utilization) before reducing the minfee, OR not raising the minfee unless the mempool is actually full.

  5. rebroad renamed this:
    Reduce MinRelayFee slower when Mempool utilised and faster when not.
    WIP: Reduce MinRelayFee slower when Mempool utilised and faster when not.
    on Apr 10, 2021
  6. rebroad renamed this:
    WIP: Reduce MinRelayFee slower when Mempool utilised and faster when not.
    WIP: Reduce MinRelayFee slower when Mempool utilised and faster when needed.
    on Apr 10, 2021
  7. rebroad closed this on Apr 10, 2021

  8. rebroad reopened this on Apr 13, 2021

  9. rebroad force-pushed on Apr 13, 2021
  10. rebroad commented at 7:08 pm on April 13, 2021: contributor

    I’ve fixed the issues with the algo, and I’m quite happy with the way it works now. Continuing to test it, but it seems to work well, with no issues so far.

    Attached screenshot shows just how responsive the minrelayfee needs to be in some situations:- image

    on the other hand, with this pull, the minrelayfee changes less often, so reduces the need to keep updating peers with the new value (screenshot showing current behavior on the left, and new behavior on the right):- image

  11. rebroad force-pushed on Apr 13, 2021
  12. rebroad force-pushed on Apr 13, 2021
  13. rebroad force-pushed on Apr 14, 2021
  14. DrahtBot commented at 12:05 pm on April 14, 2021: member

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #22003 (txmempool: add thread safety annotations by ajtowns)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  15. DrahtBot added the label Needs rebase on Apr 15, 2021
  16. rebroad commented at 10:39 am on April 15, 2021: contributor

    Showing some comparisons between existing behaviour and new behaviour.

    Reducing minfeerelay faster:- image Showing the result hours later:- image

    And with larger mempools, the differences are quite minor, the main difference being that when the minrelayfee does reduce, it does it in a shorter time period than the existing logic:- image

  17. rebroad force-pushed on Apr 15, 2021
  18. rebroad force-pushed on Apr 15, 2021
  19. DrahtBot removed the label Needs rebase on Apr 15, 2021
  20. rebroad force-pushed on Apr 25, 2021
  21. rebroad force-pushed on Apr 25, 2021
  22. rebroad force-pushed on Apr 25, 2021
  23. rebroad commented at 11:29 am on April 26, 2021: contributor
    ok, this (https://github.com/bitcoin/bitcoin/pull/21618/commits/fde749e23401c1115b69e2612479755ac095c56f) broke the fuzzer - might be best to remove it for now.
  24. Reduce code complexity of GenMinFee() 7475e1f365
  25. Reduce MinRelayFee slower when Mempool utilised and faster when not. 31c08975aa
  26. rebroad force-pushed on May 16, 2021
  27. DrahtBot added the label Needs rebase on May 21, 2021
  28. DrahtBot commented at 6:48 am on May 21, 2021: member

    🐙 This pull request conflicts with the target branch and needs rebase.

    Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a “draft”.

  29. MarcoFalke commented at 11:48 am on October 22, 2021: member

    Closing for now. This needs rebase and there hasn’t been any activity for months.

    You can leave a comment if you want this to be reopened. Though, please make sure the code is passing tests and is ready for review.

  30. MarcoFalke closed this on Oct 22, 2021

  31. DrahtBot locked this on Oct 30, 2022

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-01 13:12 UTC

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