[29.x] 29.4rc1 #35450

pull fanquake wants to merge 8 commits into bitcoin:29.x from fanquake:29_4_rc1 changing 17 files +147 −38
  1. fanquake commented at 3:24 PM on June 3, 2026: member

    Backports:

    Final changes for v29.4rc1.

    Backports since 29.3:

  2. fanquake added this to the milestone 29.4 on Jun 3, 2026
  3. DrahtBot added the label Backport on Jun 3, 2026
  4. DrahtBot commented at 3:24 PM on June 3, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35450.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK sedited

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. lint: disable leveldb subtree check
    This is no-longer a proper subtree, because of direct cherry-picks.
    53a5c7f1c9
  6. fanquake force-pushed on Jun 17, 2026
  7. coins: test chainstate flush baseline
    Add `CDBWrapper::GetProperty()` and expose it through `CCoinsViewDB::GetDBProperty()` so coins tests can inspect LevelDB runtime properties through the coins view.
    Use it in a coins DB flush baseline that records the LevelDB layout after flushing while keeping readback coverage for the flushed coin and best block.
    
    Co-authored-by: Andrew Toth <andrewstoth@gmail.com>
    
    Github-Pull: #35465
    Rebased-From: b10889d10752c5d5e4954af2959f7bdff47bd67c
    e0ab4cffaa
  8. fanquake force-pushed on Jun 22, 2026
  9. fanquake force-pushed on Jun 22, 2026
  10. validation: randomly compact chainstate
    Full chainstate flushes are convenient maintenance points for long-term LevelDB cleanup because the chainstate was just written.
    Randomize the trigger so nodes that flush near the same height do not compact together.
    
    Add blocking chainstate compaction through `CCoinsViewDB::CompactFull()` and give each post-IBD full flush on the normal chainstate a 1/320 chance to start compaction.
    With hourly flushes this averages roughly every two weeks and makes a six-month miss about one in a million.
    This keeps the schedule stateless and leaves last-compaction height or timestamp bookkeeping out of chainstate metadata.
    
    Co-authored-by: Andrew Toth <andrewstoth@gmail.com>
    
    Github-Pull: #35465
    Rebased-From: aa021b26f39fd231b2a3aac5780d5113a4aea639
    9dd8e32853
  11. coins: compact chainstate in background
    Full chainstate compaction can take minutes on large databases.
    Move `CCoinsViewDB::CompactFull()` to a named `utxocompact` one-shot background thread so validation only schedules the work.
    
    When validation selects compaction after a full flush, the chainstate was just written and another write is less likely to be needed immediately.
    The coins view destructor waits for completion, and a mutex prevents compaction from using `m_db` while `ResizeCache()` replaces it.
    
    Co-authored-by: Andrew Toth <andrewstoth@gmail.com>
    
    Github-Pull: #35465
    Rebased-From: 394e473d42ba1383dfec45a3eafa8a73a09dbe8b
    1907b3f56c
  12. fuzz: Remove unused g_setup pointers
    These are unused and removing them avoids clang warnings like:
    
    src/test/fuzz/deserialize.cpp:42:26: error: variable g_setup set but not used [-Werror,-Wunused-but-set-variable]
    ea8fafd2bf
  13. doc: update release notes for v29.4rc1 d82afa961b
  14. build: bump version to v29.4rc1 116565bc0a
  15. doc: update manual pages for v29.4rc1 88cd3a7711
  16. fanquake force-pushed on Jun 22, 2026
  17. sedited approved
  18. sedited commented at 1:48 PM on June 22, 2026: contributor

    ACK 88cd3a771161177e9f558a49a1bcbd9b29af3e10

  19. sedited merged this on Jun 23, 2026
  20. sedited closed this on Jun 23, 2026

  21. l0rinc commented at 9:03 PM on June 23, 2026: contributor

    ACK 88cd3a771161177e9f558a49a1bcbd9b29af3e10

    Note that the commits include https://github.com/bitcoin/bitcoin/pull/34918

  22. fanquake deleted the branch on Jun 24, 2026

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-06-25 12:51 UTC

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