scripts: search for first block file for linearize-data with some block files pruned #17336

pull Rjected wants to merge 1 commits into bitcoin:master from Rjected:linearize changing 1 files +28 −1
  1. Rjected commented at 11:53 PM on October 31, 2019: contributor

    <!-- *** Please remove the following help text before submitting: *** Pull requests without a rationale and clear improvement may be closed immediately. -->

    <!-- Please provide clear motivation for your patch and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly: * Any test improvements or new tests that improve coverage are always welcome. * All other changes should have accompanying unit tests (see `src/test/`) or functional tests (see `test/`). Contributors should note which tests cover modified code. If no tests exist for a region of modified code, new tests should accompany the change. * Bug fixes are most welcome when they come with steps to reproduce or an explanation of the potential issue as well as reasoning for the way the bug was fixed. * Features are welcome, but might be rejected due to design or scope issues. If a feature is based on a lot of dependencies, contributors should first consider building the system outside of Bitcoin Core, if possible. * Refactoring changes are only accepted if they are required for a feature or bug fix or otherwise improve developer experience significantly. For example, most "code style" refactoring changes require a thorough explanation why they are useful, what downsides they have and why they *significantly* improve developer experience or avoid serious programming bugs. Note that code style is often a subjective matter. Unless they are explicitly mentioned to be preferred in the [developer notes](/doc/developer-notes.md), stylistic code changes are usually rejected. -->

    When bitcoind is running in pruned mode, producing a hashlist with ./linearize-hashes.py linearize.cfg > hashlist.txt and then executing linearize-data.py linearize.cfg will produce:

    Read 313001 hashes
    Input file /home/dan/.bitcoin/blocks/blk00000.dat
    Premature end of block data
    

    This happens because linearize-data starts by attempting to process blk00000.dat regardless of whether or not blk00000.dat actually exists - this may not be the case if working with a pruned node. This PR adds a function which finds the first block file that does exist, and calls that function when the BlockDataCopier is initialized.

    This is a refactor of #16431.

    <!-- Bitcoin Core has a thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time. -->

  2. Add search for first blk file with pruned node 317fb96de9
  3. darosior approved
  4. darosior commented at 12:36 AM on November 1, 2019: member

    ACK 317fb96de9c6257972f1213b4ef2c3fe87dde99f

    Tested locally, and reviewed the (highly commented ;-) ) code.

  5. fanquake added the label Scripts and tools on Nov 1, 2019
  6. laanwj commented at 10:07 AM on November 1, 2019: member

    Thanks for picking this up.

    Code review ACK 317fb96de9c6257972f1213b4ef2c3fe87dde99f

  7. promag commented at 10:03 PM on November 3, 2019: member

    LGTM, but should follow test/functional/README.md#style-guidelines and https://www.python.org/dev/peps/pep-0008/#function-and-variable-names.

  8. MarcoFalke commented at 10:57 PM on November 3, 2019: member

    Now that this has already two ACKs, I'd rather not change the style

  9. theStack approved
  10. fanquake referenced this in commit 8625446b4d on Feb 5, 2020
  11. fanquake merged this on Feb 5, 2020
  12. fanquake closed this on Feb 5, 2020

  13. sidhujag referenced this in commit 87d9d6b05c on Feb 9, 2020
  14. sidhujag referenced this in commit 6f338c22b4 on Nov 10, 2020
  15. PastaPastaPasta referenced this in commit 128de3ef18 on Jun 27, 2021
  16. PastaPastaPasta referenced this in commit c66c35ab24 on Jun 28, 2021
  17. PastaPastaPasta referenced this in commit cb72156a40 on Jun 29, 2021
  18. PastaPastaPasta referenced this in commit 5d33f9c5d2 on Jul 1, 2021
  19. PastaPastaPasta referenced this in commit 0fdef0d5a9 on Jul 1, 2021
  20. PastaPastaPasta referenced this in commit 9465b216f0 on Jul 14, 2021
  21. PastaPastaPasta referenced this in commit 573d3a0e02 on Jul 14, 2021
  22. DrahtBot locked this on Feb 15, 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: 2026-04-17 06:14 UTC

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