Pratik Mankawde
5429595fb9
perf: Raise the sweep worker cap to 8
...
A cap of 4 measured slower than the uncapped sweep on 8-core hosts, so
raise the cap to 8 and take the question of the right value to review.
Trim the sweep comments to the fact and its consequence.
2026-09-21 13:32:47 +01:00
Pratik Mankawde
f5900b96e8
perf: Cap the number of threads TaggedCache::sweep() starts
...
sweep() started one thread per cache partition, and the partition count
defaults to the host's core count, so a sweep of one cache started one
thread per core. Several caches are swept per timer tick, so the churn
multiplied by the number of caches.
Cap the workers instead of the partitions. sweep() now starts
min(partitions, kMaxSweepThreads) of them, and worker w takes partitions
w, w + workerCount, w + 2 * workerCount and so on, which covers every
partition exactly once.
sweepHelper decided what one partition's sweep does and also wrapped it
in a std::thread. Split those: sweepPartition returns void and runs in
the calling thread, and sweep() alone owns thread creation. Both
overloads change the same way; the sweeping logic is untouched.
Fewer workers means the exclusive cache lock is held for longer, since
sweep() joins inside it. That trade is unmeasured.
Add gtest cases for the cap, and for eviction reaching every partition on
both the key/value and key-only caches.
2026-09-17 22:04:59 +01:00
Pratik Mankawde
07fa00ef39
perf: Use a fixed partition count in PartitionedUnorderedMap
...
The default partition count was the host's core count, and
TaggedCache::sweep() starts one thread per partition, so a sweep created
as many threads as the host has cores. Fix the default at 2, exposed as
the kDefaultPartitions constant.
Both arms of the constructor's initializer are now non-zero, so the
non-zero assertion can no longer fire and is removed. The header no
longer needs <thread> or instrumentation.h.
Add a GTest suite covering the default, the zero fallback, an explicit
count, and the key split across partitions.
2026-09-17 19:51:19 +01:00
Vito Tumas
6fec2c11bf
refactor: Rename vault accrual accounting to instant interest recognition ( #8237 )
2026-09-17 10:27:44 +00:00
Bart
04108a030c
refactor: Build the RPC dispatch and command-line tables at compile time ( #8006 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-09-17 10:01:28 +00:00
Bart
551a19b10d
refactor: Add Cluster::isMember, a membership query that copies nothing ( #8221 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-09-15 20:40:29 +00:00
Peter Chen
b0a940a383
refactor: Extract common tx-building helpers for ConfidentialMPT in MPTTester ( #8135 )
2026-09-15 17:13:44 +00:00
Bart
e302e4eeed
fix: Set the peer limit total when per-direction limits are configured ( #8220 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-09-15 13:14:12 +00:00
Mayukha Vadari
1a4a40ebb8
fix: Update noripple_check to exclude transactions field on error responses ( #6303 )
...
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-09-15 00:21:57 +00:00
yinyiqian1
7f55dd390c
feat: Support mirror key epochs in confidential MPT transactions for Key Rotation amendment ( #8210 )
2026-09-14 18:23:38 +00:00
Sergey Kuznetsov
9403736199
ci: Exclude Rust unit tests from code coverage ( #8203 )
2026-09-10 11:38:25 +00:00
Mayukha Vadari
028783661d
feat: Apply .macro changes from ripple/smart-escrow ( #8157 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-09-09 20:05:58 +00:00
Vito Tumas
21890d9daf
feat: Register featureLendingProtocolV1_2 amendment ( #8185 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-09-09 10:01:32 +00:00
Sergey Kuznetsov
060957ed39
ci: Add nightly Rust toolchain to the CI image ( #8182 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-09-09 01:24:28 +00:00
Ayaz Salikhov
1381483c7a
build: Fix test installation on debian:11 due to EOL ( #8200 )
2026-09-08 22:49:16 +00:00
dependabot[bot]
3e4bdf2782
ci: [DEPENDABOT] bump actions/deploy-pages from 5.0.0 to 5.0.1 in the github-actions group across 1 directory ( #8180 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-07 16:07:56 +00:00
Mayukha Vadari
e3c8996e44
feat: Add fixCleanup3_5_0 amendment placeholder ( #8174 )
2026-09-05 00:06:14 +00:00
yinyiqian1
d5bfe94f15
feat: Support key rotation in MPTokenIssuanceSet ( #7915 )
2026-09-03 21:13:06 +00:00
Bart
2ad4def35f
chore: Bump version to 3.4.0-rc1 ( #8171 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
3.4.0-rc1
2026-09-03 20:07:24 +00:00
Mayukha Vadari
f7f50caa6e
docs: Backfill API-CHANGELOG.md for 3.1.1 through 3.3.0 ( #8159 )
2026-09-03 19:48:15 +00:00
Ayaz Salikhov
3e54e7d00b
fix: Don't use github.workspace as it slow downs gcovr ( #8173 )
2026-09-03 19:20:38 +00:00
Valentin Balaschenko
827b50f169
fix: Flaky online delete tests, and cover the health checks added in #5531 ( #8137 )
2026-09-03 18:56:30 +00:00
Mayukha Vadari
58a59c37ed
fix: Add signature prefixes for sfCounterpartySignature and sfSponsorSignature ( #8162 )
2026-09-03 17:19:07 +00:00
Ayaz Salikhov
986065c16f
build: Verify glibc version was determined in debian package ( #8170 )
2026-09-03 16:54:54 +00:00
Denis Angell
37cb4cdbe3
fix: Recycle the escrow reserve in EscrowCancel and EscrowFinish ( #8142 )
2026-09-03 16:27:45 +00:00
Bart
2ddf6ee148
ci: Update pre-commit SHA ( #8169 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-09-03 14:52:42 +00:00
Pratik Mankawde
8ce4f71427
docs: Use consistent heading levels in PR template ( #8155 )
2026-09-03 14:48:32 +00:00
Bart
6e1eb88e6e
ci: Update prepare-runner SHA ( #8168 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-09-03 11:52:08 +00:00
Ayaz Salikhov
49cdc105de
fix: Correct and simplify Linux packaging ( #8165 )
2026-09-02 21:18:13 +00:00
Chenna Keshava B S
636d2d4851
fix: Reinforce the priority of AMMClawback in case of insufficient reserves ( #7796 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-09-02 20:48:53 +00:00
Kassaking7
7d7275847d
fix: PermissionedDEX (CreateOffer/Payment) never deletes expired credentials ( #6827 )
2026-09-02 19:38:01 +00:00
Bart
f0fd6ad85e
fix: Clamp the depth used to index selectBranch's key byte ( #7941 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-09-02 18:06:48 +00:00
Timur Yalymov
5d8fd9824e
fix: Revert credential cleanup for pseudo-accounts ( #8161 )
2026-09-02 15:00:50 +00:00
Vito Tumas
346ea40f69
fix: Allow zero-value MPT vault withdraw when the asset holding is missing ( #8153 )
2026-09-02 13:45:52 +00:00
Vito Tumas
8809bdf3f0
fix: Treat an existing IOU line as a no-op in addEmptyHolding ( #8154 )
2026-09-02 12:15:29 +00:00
Mayukha Vadari
deaf596494
docs: Add AGENTS.md/CLAUDE.md for AI coding agent guidance ( #8067 )
2026-09-01 21:57:34 +00:00
Vito Tumas
7863ac8cf6
fix: Add 60s buffer before closed-ended vault redemption ( #8151 )
2026-09-01 18:27:05 +00:00
Vito Tumas
b3b38e4416
fix: Correct fee-payer XRP delta in ValidVault for sponsored VaultWithdraw ( #8141 )
2026-09-01 14:43:11 +00:00
Vito Tumas
ccd5dc5e06
fix: Keep LoanBrokerDelete valid for auth-required MPT cover ( #8144 )
2026-09-01 14:40:53 +00:00
Vito Tumas
b2453b626e
fix: Unblock VaultSet and cash-basis LoanSet at AssetsMaximum ( #8143 )
2026-09-01 14:06:17 +00:00
Vito Tumas
de6e5d3a94
fix: Keep VaultDeposit share count after the assetsTotal clamp ( #8140 )
2026-09-01 13:51:39 +00:00
Copilot
fac20a06f3
refactor: Add common helper function for injected metadata fields in RPCs ( #5706 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-31 17:21:25 +00:00
Ayaz Salikhov
9a7c5ea593
chore: Bump version to 3.4.0-b3 ( #8132 )
3.4.0-b3
2026-08-27 17:26:55 +00:00
Jingchen
7281e0606a
feat: Add vault invariants ( #7732 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-27 17:15:17 +00:00
Jingchen
71f5555873
feat: Remove pseudo account field filter ( #8042 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-27 13:52:23 +00:00
Ayaz Salikhov
3967ed6d54
build: Update release-info to get better pkg_release ( #8131 )
2026-08-27 13:34:38 +00:00
Vito Tumas
e0151229b6
fix: Waive unrealized-loss discount on sole-holder VaultClawback ( #8119 )
2026-08-27 08:15:38 +00:00
Ayaz Salikhov
b6a899583b
build: Make packaging reusable ( #8126 )
2026-08-26 19:44:31 +00:00
Gregory Tsipenyuk
dc3bd9cf00
fix: Fix MPT/DEX Audit/Attackathon reports (Phase 1) ( #7334 )
2026-08-26 18:09:46 +00:00
Vito Tumas
1e8b136bfb
feat: Enable LendingProtocolV1_1 amendment ( #8125 )
2026-08-26 17:35:54 +00:00