Skip to content

fix: (DRAFT) Combine #5531 and #7763#7793

Draft
ximinez wants to merge 42 commits into
ximinez/online-delete-gapsfrom
ximinez/online-delete-gaps2
Draft

fix: (DRAFT) Combine #5531 and #7763#7793
ximinez wants to merge 42 commits into
ximinez/online-delete-gapsfrom
ximinez/online-delete-gaps2

Conversation

@ximinez

@ximinez ximinez commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

High Level Overview of Change

fix: (DRAFT) Combine #5531 and #7763

Context of Change

API Impact

  • Public API: New feature (new methods and/or new fields)
  • Public API: Breaking change (in general, breaking changes should only impact the next api_version)
  • libxrpl change (any change that may affect libxrpl or dependents of libxrpl)
  • Peer protocol change (must be backward compatible or bump the peer protocol version)

ximinez and others added 20 commits June 17, 2026 13:06
- Uses a loop in case the size grows while the lock is free. Guarantees
  the result vector will not need to allocate under lock.
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
- Make it very unlikely that the allocation loop will ever need to run
  more than once. Recover gracefully if it does.
- Prevent livelock by limiting the total possible number of iterations.
  - If this ever happens, throw our metaphorical hands in the air, and
    allocate under lock.
- Pad the size before allocating to give the cache a little room to grow
  while not holding the lock.
  - Pad by less on each iteration.
- Assert that no more than two iterations occur. Even two is probably
  overkill, but this allows for rare edge case scenarios. e.g. The
  cache is very small, the allocation takes a long time (which is
  contradictory) and a handful of items get added, overcoming the
  padding.
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
- Hopefully the AI bots will stop telling me to change it now.
…minez/online-delete-gaps

* mathbunnyru/set_min_osx_target:
  Document minimum macOS supported version
  build: Set CMAKE_OSX_DEPLOYMENT_TARGET to 26.0
@github-actions

This comment was marked as outdated.

@github-actions

Copy link
Copy Markdown

This PR has conflicts, please resolve them in order for the PR to be reviewed.

@ximinez
ximinez force-pushed the ximinez/online-delete-gaps2 branch from fcfba84 to 67e4cd2 Compare July 15, 2026 01:19
@github-actions

Copy link
Copy Markdown

All conflicts have been resolved. Assigned reviewers can now start or resume their review.

ximinez added 10 commits July 15, 2026 11:08
- Logs whether any recovered nodes are in the TreeNodeCache.
- Adds a special case to healthWait() to not pause when the server is
  DISCONNECTED.
… ximinez/online-delete-gaps2

* mywork/ximinez/online-delete-gaps:
  fix: Improve Number addition/subtraction rounding (7369)
  feat: XLS-68: Sponsor, 5887 continuation  (7350)
…ximinez/online-delete-gaps2

* XRPLF/ximinez/online-delete-gaps:
  test: Add tests for check doxygen style (7795)
  style: Add pre-commit hook to check doxygen style (7794)
  style: Unify style for all Doxygen comments (7776)
…ximinez/online-delete-gaps2

* XRPLF/ximinez/online-delete-gaps:
  ci: Run full matrix only on `Ready to merge` or `Full CI build` labeled PRs (7689)
  fix: Strengthen Clawback invariant checks for MPT balances (7285)
  test: Add unit tests for IP address related functions (7744)
  ci: Add Rust to Nix docker image (7571)
  docs: Add more information about pre-commit hooks and how to set them up (7802)
  test: Add JSON array size tests (7592)
  chore: Enable most readability checks (7772)
  ci: Do not run conflict checker when label is applied (7774)
  chore: Run clang_tidy_check with `pass_filenames: false` from pre-commit (7800)
  feat: Add delegate filter param for account_tx RPC (6126)
  refactor: Move `jss.h` `include` out of `Indexes.h` (7799)
* ximinez/fix-getkeys:
  Experiment. Do not push
  Clean up the loop to make it more understandable, add logging
  fix: Add amendment sponsor for AccountRootsDeletedClean (7801)
  fix: Update base_uint and test changes released in 3.1.3 (7570)
  fix: Handle rounding just above kMaxRep more accurately (7389)
  fix: Document and assert "after" is never null in invariants (7354)
  Document the reasons for the post-allocation assert
  Add missed header
  Use the right type in include/xrpl/basics/TaggedCache.ipp
  Make the getKeys() allocation more robust
  Apply suggestion from @xrplf-ai-reviewer[bot]
  fix: Allocate TaggedCache::getKeys() memory outside of lock
…ximinez/online-delete-gaps2

* XRPLF/ximinez/online-delete-gaps:
  fix: Re-store nodes missing from both backends during online_delete rotation (7763)
@ximinez
ximinez force-pushed the ximinez/online-delete-gaps2 branch from f865fc2 to c0cd461 Compare July 15, 2026 15:23
@ximinez ximinez added this to the 3.4.0 milestone Jul 15, 2026
@github-actions

Copy link
Copy Markdown

This PR has conflicts, please resolve them in order for the PR to be reviewed.

…ximinez/online-delete-gaps2

* XRPLF/ximinez/online-delete-gaps:
  fix: Allocate TaggedCache::getKeys() memory outside of lock (7567)
@github-actions

Copy link
Copy Markdown

All conflicts have been resolved. Assigned reviewers can now start or resume their review.

ximinez added 4 commits July 15, 2026 20:52
…ximinez/online-delete-gaps2

* XRPLF/ximinez/online-delete-gaps:
  fix: Reject zero CheckID in CheckCancel and CheckCash (7685)
  ci: Fix workflow launch on matrix-unrelated labels (7812)
…ximinez/online-delete-gaps2

* XRPLF/ximinez/online-delete-gaps:
  AI review feedback: clean up, enforce parameter validity, tests
  refactor: Restructure LendingHelpers to improve readability (7807)
  test: Add google benchmark dependency and migrate `nodestore` timing test as a benchmark (7317)
  ci: Add Rust to CI (7808)
  chore: Bump version to 3.3.0-rc1 (7806)
  fix: Refactor Batch Transaction IDs (7736)
  refactor: Remove redundant enable checks in ConfidentialMPT txs (7809)
  chore: Update mpt-crypto-lib to 0.4.0-rc4 (7813)
@ximinez ximinez added the DraftRunCI Normally CI does not run on draft PRs. This opts in. label Jul 17, 2026
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

ximinez added 2 commits July 20, 2026 12:46
…ximinez/online-delete-gaps2

* XRPLF/ximinez/online-delete-gaps:
  chore: Workaround boost compiler resolution inside Nix environment (7826)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DraftRunCI Normally CI does not run on draft PRs. This opts in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants