Pratik Mankawde
243913250b
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
2026-09-21 12:45:59 +01:00
Pratik Mankawde
c8a8da6fd6
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-09-21 12:45:55 +01:00
Pratik Mankawde
e5d28ccbc4
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-09-21 12:45:54 +01:00
Pratik Mankawde
870367d71e
merge: bring develop forward into phase-3 tx tracing
...
Resolved src/libxrpl/tx/applySteps.cpp. calculateBaseFee now returns
std::expected<XRPAmount, TER>, so invokePreclaim rejects the transaction when
the fee cannot be computed. Kept that inside this branch's preclaimTer wrapper,
so the returned error also reaches the span's ter_result attribute.
2026-09-21 12:45:45 +01:00
Pratik Mankawde
c030880a36
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
2026-09-21 12:44:43 +01:00
Pratik Mankawde
806473a9e9
fix(rpc): pass the command name to the span as a string_view
...
callMethod now takes its name as a std::string_view, which has no c_str().
setAttribute already accepts a string_view, so hand it the name directly.
2026-09-21 12:44:34 +01:00
Pratik Mankawde
d16f2c4181
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
2026-09-21 12:43:48 +01:00
Pratik Mankawde
f48a2b4871
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
2026-09-21 12:43:44 +01:00
Pratik Mankawde
6024954459
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-09-17 23:01:47 +01:00
Pratik Mankawde
8c10cd710d
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
2026-09-17 23:01:47 +01:00
Pratik Mankawde
c0c9478093
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-09-17 23:01:35 +01:00
Pratik Mankawde
fe4a778fed
perf(telemetry): trace only the transactions this node will process
...
A peer relays every transaction it hears, so most inbound copies are ones
handleTransaction() drops. The tx.receive span was created before those checks
ran, so every dropped copy paid for a span, a hex transaction id, and an
open-ledger index read that takes the mutex the apply path needs.
Measured over a four-hour payment run: 83.2M of 101.1M tx.receive spans
described a copy the node dropped. That is 82% of this span and 23% of every
span the node emitted.
Move the span and its attributes below the duplicate check. How many copies
were dropped is already reported as the transactions_duplicate traffic
category, which costs no span. Why a copy was dropped is no longer recorded;
a labelled counter restores it on the branch that carries the metric registry.
The suppressed attribute and the suppressed and rejected_inner_batch status
values go with it. This function was their only user.
2026-09-17 23:00:59 +01:00
Bart
638ae08eeb
chore: Bump version to 3.5.0-b0
2026-09-17 13:33:08 +02:00
yinyiqian1
24be48ee84
fix: Reject PaymentBurn payments that cross zero balance
2026-09-17 13:33:08 +02:00
Pratik Mankawde
e20f448a71
fix: Reject variable-length prefixes the encoder cannot write
2026-09-17 13:33:07 +02:00
Vito Tumas
f6c80fef68
fix: Relax MPT authorize cap for LoanSet and VaultWithdraw
2026-09-17 13:33:07 +02:00
Gregory Tsipenyuk
a0c12420b5
fix: Skip CheckCash limit waiver for the issuer
2026-09-17 13:33:06 +02:00
Jingchen
b60636169a
fix: Make calculateBaseFee exception-safe
2026-09-17 13:33:06 +02:00
Timothy Banks
faa2bf583f
fix: Cap TMTransactions list size and charge fee for undeserializable transactions
2026-09-17 13:33:04 +02:00
Vito Tumas
da260fa42b
fix: Relax Loan Invariants to allow zero-principal LoanPay transaction
2026-09-17 13:33:04 +02:00
Timothy Banks
53788b193d
test: Add ProtocolMessage harness for testing TMPing
2026-09-17 13:33:03 +02:00
Timothy Banks
227f1b4d9c
fix: Unbounded Database Seek via TMGetLedger
2026-09-17 13:33:03 +02:00
Ed Hennis
26b66957ec
fix: Trim unknown fields when parsing incoming peer protobuf messages
2026-09-17 13:33:02 +02:00
Mayukha Vadari
54e62a621f
fix: Prevent simulate from updating the orderbook db
2026-09-17 13:33:02 +02:00
Timothy Banks
53628b70c0
fix: Use a hardened hash on the STPathElement
2026-09-17 13:33:01 +02: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
Pratik Mankawde
75661c3a33
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-09-15 16:17:44 +01:00
Pratik Mankawde
260bc7f2ed
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
2026-09-15 16:17:44 +01:00
Pratik Mankawde
9545ab4d4e
Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing
2026-09-15 16:17:43 +01:00
Pratik Mankawde
5b10ef0d56
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-09-15 16:17:43 +01:00
Pratik Mankawde
b14c537df1
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-09-15 16:17:43 +01:00
Pratik Mankawde
6a0642817d
Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration
2026-09-15 16:17:43 +01:00
Pratik Mankawde
d008b2f641
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
2026-09-15 16:17:43 +01: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
Pratik Mankawde
7b41b00bab
test(insight): drop two includes the StatsD collector test never uses
...
clang-tidy's include-cleaner flags Counter.h and Gauge.h here: the test
names neither type, so the includes fail CI under warnings-as-errors.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-14 23:47:14 +01: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
Pratik Mankawde
c73cecdb24
revert: drop the StatsD collection-lifecycle calls this branch cannot compile
...
0eb4291688 added collector->onCollectionReady() to both StatsD tests. That
method does not exist on this branch: it is introduced later, alongside the
polling gate it belongs to, so all four build legs and clang-tidy failed.
Nothing gates polling here. The StatsDCollectorImp constructor starts its
thread, run() calls setTimer() unconditionally, and onTimer polls metrics_
and drains the buffers every second. The gauge test's expectation already
holds without any lifecycle call, because StatsDGaugeImpl starts dirty so a
untouched gauge emits its zero on the first flush.
Restores the two includes that commit also dropped.
2026-09-14 16:31:16 +01: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
Pratik Mankawde
8b0bd8839d
Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment
2026-09-09 12:02:12 +01:00
Pratik Mankawde
f318191b18
Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
2026-09-09 12:02:12 +01:00
Pratik Mankawde
148d126c63
Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing
2026-09-09 12:01:59 +01:00
Pratik Mankawde
0eb4291688
fix(telemetry): drive the collection lifecycle in the StatsD tests
...
A StatsDCollector polls its metrics only after onCollectionReady(), so
neither test flushed anything: the gauge test timed out and the counter test
passed for the wrong reason. Call it in both, and drop the two includes
whose symbols the file never names.
2026-09-09 12:01:44 +01:00
Pratik Mankawde
302a76f73e
fix(telemetry): make the readability probe stream const
...
The stream is only tested for failure, and both operator bool and operator!
are const members.
2026-09-09 12:01:42 +01:00
Pratik Mankawde
08a1ab8cd3
fix(telemetry): drop the unused <string> include from NullTelemetry
...
The file names only std::string_view, which <string_view> already provides.
2026-09-09 12:01:39 +01:00
Pratik Mankawde
96a3495328
fix(telemetry): brace the direct-apply status branch in TxQ
...
clang-tidy's readability-braces-around-statements exempts statements of at
most two lines, but not an if/else chain. Brace both arms.
2026-09-09 12:01:36 +01:00
Pratik Mankawde
e612e5d9fa
merge: bring the CI fixes forward from phase5-docs-deployment
2026-09-08 17:14:06 +01:00