Pratik Mankawde
6174d03ce0
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation
2026-09-21 12:46:00 +01:00
Pratik Mankawde
05ce773671
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
2026-09-21 12:45:59 +01:00
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
caa3eb5984
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation
2026-09-17 23:01:58 +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
67c9303c0c
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
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
913721b0bc
Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation
2026-09-15 16:17:44 +01: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
e476241b5f
Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
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
Pratik Mankawde
751c23bd98
merge: bring the optional-access NOLINT fix forward from phase7-native-metrics
2026-09-15 14:22:58 +01:00
Pratik Mankawde
42181b8ed2
test(server): silence false-positive optional-access on asserted reads
...
clang-tidy's bugprone-unchecked-optional-access does not model GTest's
ASSERT_TRUE(x.has_value()), so it flags every deref that follows one.
The reads are guarded; mark them NOLINT, matching the same suppression
in src/tests/libxrpl/consensus/LedgerTrie.cpp. .value() does not help --
the checker treats it as an unchecked access too.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-09-15 14:22:40 +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
Pratik Mankawde
e92548a185
merge: bring the clang-tidy include-cleaner fixes forward from phase7-native-metrics
2026-09-15 11:38:45 +01:00
Pratik Mankawde
ea0bd444c8
fix(test): clear clang-tidy include-cleaner and nodiscard findings
...
OTelCollectorHooks.cpp named nothing from Hook.h, took ResourceMetrics
without a direct include, and left the overriding
GetAggregationTemporality() unmarked. NodeIdentity.h carried <optional>
and <string> it no longer uses. All fail CI under warnings-as-errors.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-09-15 11:38:26 +01:00
Pratik Mankawde
ec28856a20
merge: bring the SecretKey test-compare fix forward from phase7-native-metrics
2026-09-15 11:24:42 +01:00
Pratik Mankawde
8cd99e17e9
fix(test): compare SecretKey by bytes and drop an include CI flags
...
SecretKey deletes operator==, so EXPECT_EQ on the pair's second member
does not compile; compare the byte ranges instead. Application.cpp no
longer calls logicError(), so clang-tidy's include-cleaner rejects
<xrpl/basics/contract.h> there.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
2026-09-15 11:24:21 +01: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