Nicholas Dudfield
a8388e48a4
fix: call invokeComplete on EOF in HTTPClient handleData
...
When an HTTP response has no Content-Length header, HTTPClient reads
until EOF. The EOF path in handleData logged "Complete." but never
called invokeComplete(), leaving the socket held open for the full
30s deadline timeout and the completion callback never invoked.
This is the likely root cause of webhook delivery permanently stalling
after repeated 500 errors — many web frameworks omit Content-Length on
error responses, triggering this path. Each leaked socket holds an FD
for 30s, eventually exhausting the process FD budget.
Includes HTTPClient_test with 12 test cases covering resource cleanup
across success, error, timeout, connection-refused, concurrent request,
and EOF-without-Content-Length scenarios.
2026-02-10 07:33:31 +07:00
Nicholas Dudfield
49908096d5
fix: bound subscription webhook delivery concurrency and queue size
...
fromNetwork() is async — it posts handlers to the io_service and
returns immediately. The original sendThread() loop fires all queued
events as concurrent HTTP connections at once. Under sustained load
with a slow/failing endpoint, connections accumulate (each held up to
30s by RPC_NOTIFY timeout), exhausting file descriptors and breaking
all network I/O for the entire process.
Fix: use a local io_service per batch with .run() to block until the
batch completes (same pattern as rpcClient() in RPCCall.cpp). This
bounds concurrent connections to maxInFlight (32) per subscriber while
still allowing parallel delivery.
Also add a queue cap (maxQueueSize = 16384, ~80-160MB) so a hopelessly
behind endpoint doesn't grow the deque indefinitely. Consumers detect
gaps via the existing seq field.
Ref: XRPLF/rippled#6341
2026-02-09 18:31:25 +07:00
tequ
12e1afb694
Enhance dependency export process in GitHub Action to check for existing exports before executing. ( #660 )
2026-01-28 13:14:40 +10:00
tequ
c355ad9971
update mise-action to use cmake as aqua:Kitware/CMake ( #671 )
2026-01-27 19:30:50 +10:00
Niq Dudfield
a8d7b2619e
fix: restore [ips_fixed] to use addFixedPeer instead of addFallbackStrings ( #641 )
2026-01-05 13:46:02 +10:00
Niq Dudfield
775fb3a8b2
fix: increment manifest sequence for client code cache invalidation ( #631 )
2025-12-24 11:16:00 +10:00
Niq Dudfield
5a118a4e2b
fix(logs): formatting fixes, color handling, and debug build defaults ( #607 )
2025-12-17 09:45:41 +10:00
tequ
960f87857e
Self hosted macos runner ( #652 )
2025-12-17 09:43:25 +10:00
tequ
f731bcfeba
Increase ccache size from 10G to 100G in release-builder.sh for improved build performance ( #643 )
2025-12-16 14:45:45 +10:00
tequ
374b361daa
Use Self hosted runner ( #639 )
2025-12-16 14:16:36 +10:00
tequ
52ccf27aa3
Hook API Refactor1: whitelist api at Enum.h ( #605 )
2025-12-10 19:32:03 +10:00
tequ
e3ccddfaca
Remove HookAPI test file HookAPI_test.cpp as unintentionally included. ( #650 )
2025.12.1-release+2609
2025-12-01 18:59:59 +10:00
Niq Dudfield
36e51662fe
build: suppress openssl deprecation warnings ( #606 )
2025-12-01 18:58:48 +10:00
tequ
e319619dce
Combine 3 Hook Api fix amendments ( #648 )
2025-12-01 16:26:15 +10:00
tequ
2073b562f0
Fix genesis feesettings NetworkiD ( #649 )
2025-12-01 12:55:00 +10:00
tequ
39353a6557
Fix: Ensure sto_subfield correctly handles STO field values of 16 or more. ( #647 )
2025-12-01 12:48:30 +10:00
tequ
1bfae1a296
fixStoEmplaceFieldIdCheck Amendment ( #637 )
2025-11-28 18:31:15 +10:00
Niq Dudfield
f6a4e8f36d
Wind back macOS runner version ( #635 )
2025-11-27 09:39:27 +10:00
tequ
70bbe83525
Revert "Update workers to self hosted" ( #638 )
2025-11-27 09:38:45 +10:00
tequ
bbff5e29d8
Enhance GitHub Actions workflow by escaping "double quotes in PR title" ( #640 )
2025-11-27 09:36:02 +10:00
Wietse Wind
c42cb0df62
Update workers to self hosted
2025-11-25 15:42:01 +01:00
Niq Dudfield
8efc02b2d4
refactor(ci): fix caching and improve [ci-] tag handling ( #633 )
2025-11-25 16:23:41 +10:00
tequ
ffcb203ce1
fixEtxnFeeBase Amendment (#630 )
2025-11-24 09:52:53 +10:00
tequ
4a65401448
Fix Cron stacking ( #627 )
2025-11-15 17:41:07 +10:00
tequ
8bcebdea42
Support 'cron' type for account_objects ( #624 )
2025-11-06 15:19:15 +10:00
Alloy Networks
4cc63c028a
Change validators.txt to validators-xahau.txt ( #619 )
2025-11-01 15:26:56 +10:00
tequ
9ed20a4f1c
Refactor: SetCron to CronSet ( #609 )
2025.10.27-release+2405
2025-10-27 14:38:40 +10:00
tequ
89ffc1969b
Add Previous fields to ltCron ( #611 )
2025-10-27 14:36:57 +10:00
tequ
79fdafe638
Support Cron in util_keylet Hook API ( #612 )
2025-10-27 14:35:01 +10:00
tequ
2a10013dfc
Support 'cron' with ledger_entry RPC ( #608 )
2025-10-24 17:05:14 +10:00
tequ
6f148a8ac7
ExtendedHookState ( #406 )
2025-10-23 18:57:38 +10:00
tequ
96222baf5e
Add hook header generators and CI verification workflow ( #597 )
2025-10-22 15:25:38 +10:00
Niq Dudfield
74477d2c13
added configurable NuDB block size support in xahaud ( #601 )
2025-10-22 14:15:12 +10:00
Alloy Networks
9378f1a0ad
Update CONTRIBUTING.md ( #599 )
2025-10-21 14:20:10 +10:00
tequ
6fa6a96e3a
Introduce StartTime in CronSet and improve next execution scheduling ( #596 )
2025-10-21 14:17:53 +10:00
RichardAH
b0fcd36bcd
import_vl_keys logic fix (flap fix) ( #588 )
2025-10-18 16:27:05 +10:00
RichardAH
1ec31e79c9
Cron (on ledger cronjobs) ( #590 )
...
Co-authored-by: tequ <git@tequ.dev >
2025-10-17 18:45:16 +10:00
tequ
9c8b005406
fix: improve logging for transaction preflight failures in applyHook.cpp ( #566 )
2025-10-15 12:33:32 +10:00
tequ
687ccf4203
Remove unused variable enabled in MultiSign_test.cpp ( #592 )
2025-10-15 12:32:31 +10:00
Niq Dudfield
83f09fd8ab
ci: add clang to build matrix [ci-nix-full-matrix] ( #569 )
2025-10-15 11:26:31 +10:00
tequ
15c7ad6f78
Fix Invalid Tx flags ( #514 )
2025-10-14 15:35:48 +10:00
Niq Dudfield
1f12b9ec5a
feat(logs): add -DBEAST_ENHANCED_LOGGING with file:line numbers for JLOG macro ( #552 )
2025-10-14 10:44:03 +10:00
Niq Dudfield
ad0531ad6c
chore: fix warnings ( #509 )
...
Co-authored-by: Denis Angell <dangell@transia.co >
Co-authored-by: RichardAH <richard.holland@starstone.co.nz >
2025-10-11 11:47:13 +10:00
tequ
e580f7cfc0
chore(vscode): enable format on save in settings.json ( #578 )
2025-10-11 11:43:50 +10:00
tequ
094f011006
Fix emit Hook API testcase name ( #580 )
2025-10-11 11:43:09 +10:00
Niq Dudfield
39d1c43901
build: upgrade openssl from 1.1.1u to 3.6.0 ( #587 )
...
Updates OpenSSL dependency to the latest 3.x series available on Conan Center.
2025-10-10 19:53:35 +10:00
J. Scott Branson
b3e6a902cb
Update Sample Configuration Files in /cfg for Congruence with xahaud ( #584 )
2025-10-10 14:59:39 +11:00
Niq Dudfield
fa1b93bfd8
build: migrate to conan 2 ( #585 )
...
Migrates the build system from Conan 1 to Conan 2
2025-10-10 14:57:46 +11:00
tequ
92e3a927fc
refactor KEYLET_LINE in utils_keylet ( #502 )
...
Fixes the use of high and low in variable names, as these are determined by ripple::keylet::line processing.
Co-authored-by: RichardAH <richard.holland@starstone.co.nz >
2025-10-09 21:02:14 +11:00
tequ
8f7ebf0377
Optimize github action cache ( #544 )
...
* optimize github action cache
* fix
* refactor: improve github actions cache optimization (#3 )
- move ccache configuration logic to dedicated action
- rename conanfile-changed to should-save-conan-cache for clarity
---------
Co-authored-by: Niq Dudfield <ndudfield@gmail.com >
2025-09-08 15:53:40 +10:00