Skip to content

Conversation

@stringintech
Copy link
Contributor

Remove the int parameter from btck_chainstate_manager_options_*_in_memory functions and rename them from "update" to "set". These functions now only set the options to true for enabling in-memory mode. This, combined with explicit default initialization to false, removes ambiguity about what happens when these functions are not called and makes the typical use case (disk-based storage) require no action from the user.

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 15, 2025

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

Code Coverage & Benchmarks

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

Reviews

See the guideline for information on the review process.
A summary of reviews will appear here.

@stringintech stringintech marked this pull request as draft November 15, 2025 13:36
Remove the int parameter from `btck_chainstate_manager_options_*_in_memory` functions and rename them from "update" to "set". These functions now only set the options to `true` for enabling in-memory mode. This, combined with explicit default initialization to `false`, removes ambiguity about what happens when these functions are not called and makes the typical use case (disk-based storage) require no action from the user.
@stringintech stringintech force-pushed the 2025/11/kernel-in-mem-options branch from b7c85b5 to 3ac69a6 Compare November 15, 2025 13:46
@stringintech stringintech marked this pull request as ready for review November 15, 2025 13:46
@DrahtBot
Copy link
Contributor

🚧 At least one of the CI tasks failed.
Task Linux->Windows cross, no tests: https://github.com/bitcoin/bitcoin/actions/runs/19390523535/job/55483324598
LLM reason (✨ experimental): Compile error: missing initializer for member coins_error_cb in ChainstateManagerOptions, with warnings treated as errors.

Hints

Try to run the tests locally, according to the documentation. However, a CI failure may still
happen due to a number of reasons, for example:

  • Possibly due to a silent merge conflict (the changes in this pull request being
    incompatible with the current code in the target branch). If so, make sure to rebase on the latest
    commit of the target branch.

  • A sanitizer issue, which can only be found by compiling with the sanitizer and running the
    affected test.

  • An intermittent issue.

Leave a comment here, if you need help tracking down a confusing failure.

@stringintech
Copy link
Contributor Author

This occurred to me while refactoring the context and chainstate manager options in the Go wrapper, so I opened this PR to get feedback.

cc @TheCharlatan @stickies-v

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants