fix(rippled): switch to xrpllabsofficial image + isolate from mainnet UNL#11
Merged
Merged
Conversation
The rippleci/rippled:develop image was a CI dev build that loads the
mainnet validator UNL (vl.ripple.com / vl.xrplf.org) by default. In a
private test network this surfaced as:
- hundreds of `is_trusted: 0` validation messages from real mainnet
validators flooding the consensus log
- PeerFinder bootcache trying real mainnet IPs (3.77.5.186 etc.)
- tx submitted with tesSUCCESS getting stranded in open ledger
because the local consensus circle never closed cleanly
Three changes:
1. Base image -> `xrpllabsofficial/xrpld:latest` (3.1.2 stable). Debian
based, runs as root, ships rippled release binaries. Smaller, faster
to pull, and behaves predictably in a closed test net.
2. Empty `[validator_list_sites]` and `[validator_list_keys]` sections
in rippled.cfg. Without these, rippled fetches the mainnet UNL on
boot. With them empty, rippled trusts only what's in
validators.txt — i.e. the keys hive uploaded.
3. Retry `account_info` on the late joiner. rippled returns
`noNetwork` while `server_state == connected` (validations seen but
state not yet replayed). The previous test failed `account_info`
immediately after `WaitForLedger` returned, racing rippled's
catchup. Retry up to 120s; rxrpl answers on first call so the loop
is a no-op for it.
Result on `--client rxrpl,rippled` (4 sub-tests):
initial=rxrpl late=rxrpl PASS
initial=rxrpl late=rippled FAIL (rippled catch-up from rxrpl
UNL — separate issue)
initial=rippled late=rxrpl PASS (cross-impl signal)
initial=rippled late=rippled PASS (canonical homogeneous case
now green)
3/4 sub-tests pass. The remaining failure is rippled-side catchup
from a non-rippled-validated UNL and needs follow-up investigation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Stacks on top of #10. Brings the canonical `rippled→rippled` sync sub-test to green and cleans up rippled's behaviour in a closed test network.
Why the previous rippled image was painful
`rippleci/rippled:develop` is a CI dev build that:
Changes
Result on `--client rxrpl,rippled` (4 sub-tests)
3/4 sub-tests pass. The remaining failure is rippled-side catch-up from a non-rippled UNL — needs follow-up investigation, likely on the rippled side.
Test plan