* XRPLF/ximinez/online-delete-gaps:
Add a 1/4s delay so the server doesn't restore the removed ledger
Reapply "experiment: find where the deleted ledger is being put back"
fix: Add assert for account_info flags (7987)
* XRPLF/ximinez/online-delete-gaps:
fix: Reject vault deposits that move nothing from the depositor (8014)
experiment: find where the deleted ledger is being put back
clang-tidy: Use switch. Duh
Fix timing issues in the gap test
perf: Speed up addition time for drastically different exponents (7825)
refactor: Collapse transactions.macro settings into a TxSettings struct (8001)
fix: Enforce MPT balance invariants under the latest cleanup amendment (7889)
fix: Prevent AMM auction slots from being acquired at zero cost when trading fee is zero (7430)
docs: Fix yum installation baseurl (8066)
fix: Return specific and consistent errors from vault_info (8015)
ci: Save cargo cache only from develop by default (8063)
fix: Check credential for LoanBrokerCoverWithdraw and VaultWithdraw (7107)
build: Suppress MSVC linker warning LNK4099 (8049)
chore: [DEPENDABOT] Bump cxx from 1.0.198 to 1.0.199 in /crates in the rust-dependencies group across 1 directory (8050)
build: Use debian `any` distribution & signed (hosted) rpm repo (8053)
ci: Do not cache cargo binaries (8062)
* XRPLF/develop:
fix: Reject vault deposits that move nothing from the depositor (8014)
perf: Speed up addition time for drastically different exponents (7825)
refactor: Collapse transactions.macro settings into a TxSettings struct (8001)
- The coverage build exposed that the timing was more sensitive than
I had thought. Force things to run in the order I expect by changing
the server mode (via NetworkOPs::setMode).
- Log the "waiting" messages at warning level once the delay reaches 1/4
of the way to the circuit breaker cutoff.
- Also fix the exception message on configuration validation.
- Adds a "max_waiting_ledgers" config, which defaults to the
"online_delete" value. If the rotation gets stuck for that number of
ledgers, abort the rotation and try again later. The existing gap will
be ignored on the next rotation.
- Create a new HealthResult::Expired. Update most healthWait() call
sites to account for the new possible result. Pay special note to the
calls in SHAMapStoreImp::run() to ensure they don't exit the thread
prematurely, or keep rotating when they should not.
- Did a little clean up while I was in there.
- Update tests.
- Check that recovery_wait_time is non-zero.
- In healthWait(), explicitly check whether the only missing ledger is
the current validated ledger, in the process of being built. If so,
log lower, and only wait 1/10 of the time.
- Add the special case from #7793 that will let rotation run if the node
is disconnected.
- Convert the inFlight tracking to a simple bool instead of ledger
index. In testing, almost no nodes were skipped anyway, so it's not
a signficant factor.
- Reset the duplicate node count when reading it.
- Update some comments and logging.
* XRPLF/ximinez/online-delete-gaps: (36 commits)
chore: Bump version to 3.4.0-b0 (7976)
chore: Bump version to 3.3.0
chore: Bump version to 3.3.0-rc7
fix: Increase manifest protocol message size cap and fix manifests relay
fix: Cap untrusted manifests per message and drop oversized ones
chore: Bump version to 3.3.0-rc6
feat: Package validator-keys inside rippled
chore: Bump version to 3.3.0-rc5
fix: Switch SponsorshipSet to use a delta for sfFeeAmount
fix: Re-revert "fix: Set request size limits and differential pricing for get-object-by-hash calls"
chore: Bump version to 3.3.0-rc4
fix: Revert "fix: Set request size limits and differential pricing for get-object-by-hash calls"
chore: Bump version to 3.3.0-rc3
fix: Reduce untrusted manifest cache cap to 100
fix: Revert "fix: Reject oversized SHAMap nodes in gotStaleData and fetch-pack path"
chore: Bump version to 3.3.0-rc2
fix: Check transaction type before RawTransactions
fix: Change ConfidentialMPTConvert to no delegate
fix: Bound untrusted manifest cache
feat: Make DynamicMPT opt-in-immutable
...
* release/3.2.x:
chore: Bump version to 3.2.1
chore: Bump version to 3.2.1-rc1
fix: Cap untrusted manifests per message and drop oversized ones
fix: Reject oversized validator manifest before decoding
fix: Reduce untrusted manifest cache cap to 100
fix: Bound untrusted manifest cache
* XRPLF/ximinez/online-delete-gaps:
chore: Move semantic version tests to gtest (7872)
style: Make clang-tidy format files using clang-format rules (7880)
ci: Change `server_definitions` upload config name (7878)
chore: Trivial gtest migrations (7865)
ci: Group github-actions dependabot updates (7876)
ci: Update CI image and prepare-runner action (7874)
test: Migrate `nodestore` tests from Beast to GTest (7292)
test: Improve the server status test to not race and randomly fail (7304)
ci: [DEPENDABOT] bump actions/checkout from 7.0.0 to 7.0.1 (7871)
chore: Fix clang version in devshell (7860)
chore: Verify tooling version for Nix-managed environments (7862)
- Add a special case to healthWait() to not pause when the server is
DISCONNECTED.
- Log sequence differences at the start and end of rotation.
- Limit copy-forward to ledgers we're not about to delete, and unknown.
(Changes rotationInFlight_ from a bool to a LedgerIndex.)
- Set the "rotation in flight" index right at the beginning of the rotation
- Because the node copy process can take a long time, other ledgers may
get validated. Any reads for those ledgers have the potential to be
served by the archive DB and thus lost, too. Why wait?
- Add an assertion suggested on @vlntb in #7763.
- Don't wait as long for ledgers that should be built soon.
- Rescue nodes from the tree node cache, too.
- Move a log message into the same block as the thing it's logging.
- Change default recovery time from 1s to 2s. This may need some more
tuning.
- Rename the online_delete test config helper function to onlineDelete.
- Copy some class values while under lock, even though they can't
change, as defense in depth.
- Use RAII scope unlock in healthWait().
- Remove extraneous function declaration.
- Add a timeout to SHAMapStore_test::testLedgerGaps so it won't hang in
case of regression.
- Add an optional timeout parameter to SHAMapStore::rendezvous, and
return a success flag.
- Use the timeout in SHAMapStore_test::testLedgerGaps to show lack of
progress in the Store without an arbitrary sleep delay.
- Refactor LedgerMaster::missingFromCompleteLedgerRange to use RangeSet
functions instead of a naive iteration.
- If lastGoodValidatedLedger_ is default (0) in healthWait(), then act
as if no ledgers are missing.
* XRPLF/develop: (22 commits)
test: Add null check unit test for `Oracle::aggregatePrice` (7306)
ci: Patch conan recipe for Nix to be able to use on macOS (7532)
ci: Run sanitizers on release builds too (7527)
fix: Correct hybrid offer deletion on credential expiry (6843)
ci: Make sanitizer flags lists in the profile, not a string (7449)
ci: Make configurations launch on certain event types (7447)
fix: Add [[maybe_unused]] to fix320Enabled for assert=OFF builds (7446)
ci: Add `gh` and `file` to nix packages (7444)
fix: Disable transaction invariants (7409)
perf: Dispatch "hasInvalidAmount()" on type tag instead of dynamic_cast (7402)
refactor: Retire fixUniversalNumber amendment (5962)
test: Do not create data directory for memory databases (7323)
ci: Launch upload-conan-deps on profile change (7442)
fix: Fix Number comparison operator (7406)
feat: Use C++ 23 standard (7431)
refactor: Introduce XRPL_ASSERT_IF for amendment-gated assertions (7378)
refactor: Change config section and key string literals into constants (7095)
refactor: Use `std::move` and `std::string_view` where possible (7424)
refactor: Use const function arguments where possible (7423)
ci: Use XRPLF/actions build-multiarch-image workflow (7428)
...
* XRPLF/develop:
docs: Add --parallel flag to cmake build commands in BUILD.md (7302)
fix: Fix wrong hybrid offer orderbook placement and update `LedgerStateFix` to amend `ExchangeRate` meta (7087)
style: More clang-tidy identifier renaming (7290)
fix: Update pDEX invariant firing under a valid offer deletion (7118)
fix: Fix multisign and signfor to check for delegate (7064)
refactor: Fix `sfGeneric` and `sfInvalid` field names (7300)
docs: Fix some comments to improve readability (7122)
feat: Propagate underlying MPT flags to vault shares (7077)
* XRPLF/develop:
release: Set version to 3.3.0-b0 (7280)
refactor: Rename static constants (7120)
refactor: Use `isFlag` where possible instead of bitwise math (7278)
ci: Update XRPLF/actions (7281)
* XRPLF/develop:
fix: Gate -mcmodel flags to x86_64 in sanitizer builds (7049)
fix: Prevents overwriting a bool value in an invariant (6609)
fix: Address code review comments regarding `boost::coroutine2` (6977)
refactor: Apply various minor improvements and corrections (7045)
fix: Store `Delegate` object in delegating and authorized account directories for proper deletion (6681)
ci: Use print-env from XRPLF/actions (7052)
fix: Make assorted RPC fixes (6529)
chore: Enable clang-tidy v21 new checks (7031)
* commit '92046785d1fea5f9efe5a770d636792ea6cab78b':
test: Fix the `xrpl.net` unit test using async read (6241)
ci: Upload Conan recipes for develop, release candidates, and releases (6286)
fix: Stop embedded tests from hanging on ARM by using `atomic_flag` (6248)
fix: Remove DEFAULT fields that change to the default in associateAsset (6259) (6273)
refactor: Update Boost to 1.90 (6280)
refactor: clean up uses of `std::source_location` (6272)
ci: Pass missing sanitizers input to actions (6266)
ci: Properly propagate Conan credentials (6265)
ci: Explicitly set version when exporting the Conan recipe (6264)
ci: Use plus instead of hyphen for Conan recipe version suffix (6261)
chore: Detect uninitialized variables in CMake files (6247)
ci: Run on-trigger and on-pr when generate-version is modified (6257)
refactor: Enforce 15-char limit and simplify labels for thread naming (6212)
docs: Update Ripple Bug Bounty public key (6258)
ci: Add missing commit hash to Conan recipe version (6256)
fix: Include `<functional>` header in `Number.h` (6254)
ci: Upload Conan recipe for merges into develop and commits to release (6235)
Limit reply size on `TMGetObjectByHash` queries (6110)
ci: remove 'master' branch as a trigger (6234)
Improve ledger_entry lookups for fee, amendments, NUNL, and hashes (5644)
* upstream/develop:
chore: Remove codecov token check to support tokenless uploads on forks (5722)
Set version to 2.6.0-rc3
Revert "perf: Move mutex to the partition level (5486)"
chore: Update clang-format and prettier with pre-commit (5709)
fix(test): handle null metadata for unvalidated tx in Env::meta (5715)
chore: Workaround for CI build errors on arm64 (5717)
chore: Fix file formatting (5718)
fix: Skip notify-clio when running in a fork, reorder config fields (5712)
chore: Reverts formatting changes to external files, adds formatting changes to proto files (5711)
@@ -54,6 +54,9 @@ This section contains changes targeting a future version.
-`submit`: The `fail_hard` field now returns an error if the value is not a boolean. [#6529](https://github.com/XRPLF/rippled/pull/6529)
-`subscribe`: The `taker` field in the `books` array now returns `actMalformed` instead of `badIssuer` if the value is not a valid account. [#6529](https://github.com/XRPLF/rippled/pull/6529)
- Fixed a bug in `Forwarded` HTTP header parsing where the extracted IP address could be incorrect when no comma or semicolon delimiter follows the address. This could cause the server to misidentify a client's IP address when operating behind a reverse proxy. [#6529](https://github.com/XRPLF/rippled/pull/6529)
-`vault_info`: Errors now identify what the request got wrong instead of reporting every failure as the unregistered token `malformedRequest`, and the `error`, `error_code` and `error_message` fields now agree with each other. An invalid `vault_id` or `seq` returns `invalidParams`, an invalid `owner` returns `actMalformed`, and a request that mixes `vault_id` with `owner`/`seq` or supplies neither returns `invalidParams` with a message naming the accepted combinations. [#8015](https://github.com/XRPLF/rippled/pull/8015)
-`vault_info`: A well-formed all-zero `vault_id` now returns `entryNotFound` instead of being rejected as malformed, and `entryNotFound` responses now include `error_code` and `error_message`. Clients that request `ripplerpc` 3.0 or above therefore receive HTTP 400 with that error rather than HTTP 200. [#8015](https://github.com/XRPLF/rippled/pull/8015)
-`vault_info`: `vault_id` and `owner` must now be strings, matching how `ledger_entry` reads the same fields. An object or an array in either field previously produced an internal error, and a number was silently converted to its decimal text; `vault_id` now returns `invalidParams` and `owner` returns `actMalformed`. [#8015](https://github.com/XRPLF/rippled/pull/8015)
-`gateway_balances`: The `account` and `ident` fields now return an `invalidParams` error if the value is not a string, instead of an `internal` error. [#7655](https://github.com/XRPLF/rippled/pull/7655)
-`account_lines`: The `peer` field now returns an error if the value is not a string. [#7728](https://github.com/XRPLF/rippled/pull/7728)
* @brief Build and return the VaultWithdraw wrapper.
* @param publicKey The public key for signing.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.