Commit Graph

15013 Commits

Author SHA1 Message Date
Nicholas Dudfield
95233b8dc4 test(consensus): exercise real share loss and lagged extension nodes 2026-09-18 17:08:30 +07:00
Nicholas Dudfield
778b9fc35e test(harness): schedule real SQLite checkpoint work in long runs 2026-09-18 16:55:53 +07:00
Nicholas Dudfield
9f9748f3fe test(consensus): warm extension fixture through a complete reporting window 2026-09-18 16:52:20 +07:00
Nicholas Dudfield
141815785b test(consensus): add real-node extension feature matrix 2026-09-18 16:35:29 +07:00
Nicholas Dudfield
4325634c0f test(consensus): inject extension time and stepping-only entropy 2026-09-18 16:30:52 +07:00
Nicholas Dudfield
adfe7ac90f test(harness): account for validated-ledger callbacks in timeline snapshot
The N=3 target-4 trace gains two validatedLedgerWork events at 42.010s on nodes 0 and 1. Removing only those events reproduces the prior 330-event fingerprint exactly. Retain all replay, hash-agreement and weighted-pressure assertions.
2026-09-18 16:12:16 +07:00
Nicholas Dudfield
e863685125 test(harness): print event provenance when timeline canary changes 2026-09-18 16:09:50 +07:00
Nicholas Dudfield
ac86fa4083 fix(test): include LedgerMaster for queue isolation regression 2026-09-18 15:58:05 +07:00
Nicholas Dudfield
3a4af3266e test(harness): schedule Export receive and validated-ledger work 2026-09-18 15:50:41 +07:00
Nicholas Dudfield
ae8e6956ce fix(build): reconcile harness logging and send-hook signatures 2026-09-18 15:48:54 +07:00
Nicholas Dudfield
aa5a2783f4 Merge deterministic multi-application harness into feature-export-rng-dsf
Merge a992572b70; retain validator identity fields, phase locking, manual heartbeat control and extension polling. Share the send observation hook across immediate and delayed transport sends.
2026-09-18 15:46:32 +07:00
Nicholas Dudfield
a992572b70 test(harness): make pressure units and snapshot history explicit 2026-09-18 15:18:16 +07:00
Nicholas Dudfield
2d10eb40bd docs(test): clarify target pressure snapshot calibration 2026-09-18 14:52:31 +07:00
Nicholas Dudfield
09dd02acd3 test(harness): calibrate xahaud scenarios and verify backfilled history 2026-09-18 14:41:43 +07:00
Nicholas Dudfield
b0cc9b8082 test(overlay): port donor strand and simulated transport coverage 2026-09-18 14:09:44 +07:00
Nicholas Dudfield
bb927b82a8 fix(overlay): bound protobuf parsing to the current frame 2026-09-18 14:09:39 +07:00
Nicholas Dudfield
6df48eeebf fix(test): finish traffic suite api remaps 2026-09-18 14:01:21 +07:00
Nicholas Dudfield
f024a81169 fix(test): use xahaud csf scheduler method names 2026-09-18 13:59:52 +07:00
Nicholas Dudfield
730178bec8 test(consensus): port remaining deterministic and threaded scenarios 2026-09-18 13:50:35 +07:00
Nicholas Dudfield
318c0c6652 refactor(net): scope outbound http tls context to application 2026-09-18 13:49:58 +07:00
Nicholas Dudfield
318821df03 fix(test): classify xahaud acquisition and publication jobs 2026-09-18 13:40:54 +07:00
Nicholas Dudfield
6df644b050 fix(ledger): count publication as progress while running 2026-09-18 13:34:36 +07:00
Nicholas Dudfield
afe6dc534d fix(app): persist genesis successor state tree 2026-09-18 13:34:32 +07:00
Nicholas Dudfield
2658752d76 fix(test): preserve harness node store across restarts 2026-09-18 13:34:28 +07:00
Nicholas Dudfield
88705e2155 Revert "fix(app): construct overlay before START_UP ledger load"
This reverts commit e2393646dc.
2026-09-18 13:29:19 +07:00
Nicholas Dudfield
e2393646dc fix(app): construct overlay before START_UP ledger load
LOAD restart called overlay() from tryAdvance/getFetchPack while
overlay_ was still created later in setup. Keep beginConsensus after
the ledger exists.
2026-09-18 13:15:31 +07:00
Nicholas Dudfield
cf438abaf5 fix(overlay): expose Message::getMessageType for harness send hooks
xahaud packed the type in the header but had no accessor. Donor
getMessageType reads the uncompressed header; same here.
2026-09-18 13:00:11 +07:00
Nicholas Dudfield
a7364f70c8 feat(overlay): invoke Config harness observation hooks
MultiNode already installed send/message/lifecycle/validation hooks.
Call them from PeerImp, NetworkOPs, and handleNewValidation so
SteppingNetwork forensics are not empty. Production hooks stay empty.
2026-09-18 12:55:46 +07:00
Nicholas Dudfield
ea66232c01 fix(shamap): order deferred reads and resume walks deterministically
Wait for all deferred reads then sort by parentID/branch. Refill
resumes in SHAMapNodeID order so missing-node requests do not follow
reader completion or heap address order.
2026-09-18 12:51:21 +07:00
Nicholas Dudfield
c685df2cc5 fix(overlay): cancel virtual peer timer through cancelTimer
close() cancelled the raw asio timer while vtimer_ still held a strong
PeerImp callback, leaking the peer and its slot on sim teardown.
2026-09-18 12:51:16 +07:00
Nicholas Dudfield
bb74bcfd7a fix(test): persist harness relational ledgers with sqlite
xahaud envconfig defaults relational to per-app rwdb, so LOAD latest
after stopNode cannot find the saved ledger. Donor unit tests leave
sqlite files under database_path; match that for restart policy.
2026-09-18 12:51:12 +07:00
Nicholas Dudfield
64974242d2 docs(consensus): distinguish rechecked alignment from terminal expiry 2026-09-18 12:43:23 +07:00
Nicholas Dudfield
3d05673661 fix(test): register harness suites under ripple not xrpl
BEAST_DEFINE_TESTSUITE library name must match xahaud so
ripple.consensus.HarnessNet and SteppingDeterminism resolve.
2026-09-18 12:42:18 +07:00
Nicholas Dudfield
e02e9cb1d7 docs(consensus): describe independent extension gate progress 2026-09-18 12:41:40 +07:00
Nicholas Dudfield
a3b5f769f4 fix(overlay): wrap PeerTest ssl_stream in SslTransport
tx_reduce_relay_test still passed unique_ptr<ssl_stream> into PeerImp
after the Transport weld. Match OverlayImpl and ConnectAttempt.
2026-09-18 12:39:48 +07:00
Nicholas Dudfield
6e934f0557 fix(consensus): advance rng and export gates independently 2026-09-18 12:29:33 +07:00
Nicholas Dudfield
7e9e78c3d1 fix(test): remap imported harness onto xahaud names
Config sections, JobTypes, Ledger::info, OpenLedger, FailHard, Account
master, RPC JsonContext, PeerFinder slots, protobuf header, and
beast::temp_dir. HarnessNet and SteppingDeterminism objects compile.
2026-09-18 12:25:46 +07:00
Nicholas Dudfield
47babd73aa test(consensus): cover rng export enablement matrix 2026-09-18 12:23:07 +07:00
Nicholas Dudfield
476a5bf76a test(consensus): require concurrent rng and export gate progress 2026-09-18 12:20:53 +07:00
Nicholas Dudfield
0decfae0b7 wip(test): start xahaud API remaps on imported harness
JobType aliases, include paths, OverlayImpl method names, Config
COMPRESSION flags, and PeerFinder::Config::makeConfig. HarnessNet
does not compile yet.
2026-09-18 12:05:27 +07:00
Nicholas Dudfield
bec5e7bf5b fix(config): keep protobuf Message outside namespace ripple
Forward-declaring google inside ripple made google::protobuf resolve to
ripple::google::protobuf and broke overlay ZeroCopyStream.
2026-09-18 11:59:40 +07:00
Nicholas Dudfield
d655cf24e9 feat(overlay): weld PeerImp I/O onto Transport
Inbound and outbound peers wrap the ssl_stream in SslTransport.
SimOverlay can now inject an in-process transport without a PeerImp
template.
2026-09-18 11:57:07 +07:00
Nicholas Dudfield
44fc6f6061 feat(test): import donor stepping harness sources
Mechanical copy of Transport, SimOverlay/SimTransport, MultiNode,
scheduler/controller/network, and HarnessNet/SteppingDeterminism suites
with xahaud name mappings. Overlay weld onto PeerImp is still required
before these compile.
2026-09-18 11:51:10 +07:00
Nicholas Dudfield
4932fee4f8 feat(server): optional listeners, peered envconfig, harness hooks
setupWithoutListeners stores setup without binding sockets. stepping
harnesses can disable signals and the stall detector via peeredEnvconfig.
Config grows observe-only peer/validation hooks, empty in production.
2026-09-18 11:48:50 +07:00
Nicholas Dudfield
c15b69fd9d docs(consensus): describe share transport without incident history 2026-09-18 11:47:40 +07:00
Nicholas Dudfield
645f16e7fe feat(overlay): virtual peer timer, inline strands, precise clock
PeerImp arms TimeoutCounterTimer when makePeerTimer is installed.
inlineStrands builds the existing strand type over an inline executor.
Tracking, ping RTT and uptime use getPreciseStopwatch.
2026-09-18 11:47:01 +07:00
Nicholas Dudfield
540e04bcc9 docs(export): record runnable share dispatch repair 2026-09-18 11:45:17 +07:00
Nicholas Dudfield
4bea07f662 feat(shamap): inject Family PRNG into missing-node walks
NodeFamily forwards Application::getPrng. SHAMapSync draws first-child
offsets from that engine. TestNodeFamily keeps default_prng.
2026-09-18 11:44:49 +07:00
Nicholas Dudfield
8e2907f231 fix(overlay): score peers in id order with injected PRNG
getScore draws from Application::getPrng. addPeers, getPeerWithTree and
getPeerWithLedger collect and sort by peer id before scoring so draws
do not follow unordered overlay traversal.
2026-09-18 11:41:49 +07:00
Nicholas Dudfield
605eefd921 feat(app): route remaining stopwatch and PRNG consumers through Application
LedgerHistory, TransactionMaster, NodeFamily caches, PeerFinder and
reduce-relay idle checks use getStopwatch. Fetch-pack deadlines use the
same clock. Overlay tx relay, ping sequence and InboundLedger peer
sampling use getPrng; fetch-pack scoring and acquire sampling sort by
peer id first.
2026-09-18 11:35:53 +07:00