Skip to content

Conversation

@glyh
Copy link
Member

@glyh glyh commented Oct 21, 2025

As title. #17964 is failing on CI for clean merge into develop. Hence this PR.

58ec735 is the HEAD of that branch.

This PR has the side effect of merging parts of compatible into develop.

cjjdespres and others added 16 commits October 9, 2025 13:59
If a daemon is stopped at certain points while syncing a converting
ledger to a network, the underlying databases can be left in an
unexpected state: the num_accounts in the database will be set to a high
value (because the daemon added a batch of accounts at high addresses)
but not all accounts at lower indices will be present (because the
daemon didn't get to filling them in yet). This will cause functions
like iteri and get_at_index_exn to throw unexpected exceptions when they
get to addresses that are missing accounts.

A couple of new ledger functions have been added to account for this
possibility, which are used in an updated ledger database sync check
implementation. A few related unit tests have been added to the
converting merkle tree, one of which does not pass without these changes
being in place.
The ~here is set to the point of usage of Option.value_exn itself to
conform with our code base's current practices, but we might want to
have it passed in from the caller of these functions.
…n-nix

Bump RocksDB to 10.5.1 for non-nix builds
…k-more-defensive

Make converting ledger sync check more defensive
The --stop-time-interval option sets the upper bound on the number of
random hours added to the --stop-time of the daemon. It is optional,
with default 9 to match the current daemon behaviour.

Setting the option to 0 will disable the randomness entirely. This is
useful for ensuring that daemons will stop at deterministic intervals.
…mness-disable' into lyh/cjjdespres/allow-stop-time-randomness-disable/into-develop
@glyh glyh requested review from a team as code owners October 21, 2025 03:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants