Repository navigation
test(e2e): give test nodes 10 s for DHT requests, in step with ant-client - #277
Merged
Nic-dorman merged 1 commit intoNov 5, 2026
Conversation
…ient TEST_CORE_CONNECTION_TIMEOUT_SECS was 2, set in 857398c to keep DHT leave waits short during teardown. saorsa-core also uses a node's connection_timeout as the request timeout for every DHT operation (network.rs: request_timeout: config.connection_timeout), so the e2e nodes gave each peer 2 s to answer a lookup, against 25 s in production. ant-client's harness had the same trap at 5 s, and it caused its E2E macOS flake: witnessed close-group lookups dropped slow but live peers on loaded runners ("found 6 peers, need 7", V2-1852). On dev2, with ant-client's flaky test capped to 1 or 1.5 CPU cores, 5 s failed every run and 10 s passed every run. Both harnesses now use 10 s under the same constant name, and each says to keep the two in step. shutdown() already stops nodes concurrently, so the longer value doesn't add up across nodes. Closes V2-1869 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaidSafe-Hermes
approved these changes
Nov 5, 2026
There was a problem hiding this comment.
APPROVE — Reviewed WithAutonomi/ant-node#277 at 6c1df6e3882a029e8c996a29eef2690385b0a839 (base 369a2e28bcbfbaa0127034be0f8f11b10fbfb00b). The change is limited to the E2E test harness timeout; it does not alter production configuration. The timeout increase is reasonable for slow but live peers, and shutdown waits run concurrently. No material correctness or compatibility defect found.
Coverage: 2/2 seats reviewed — sol-1 (gpt-6.1-sol xhigh) and glm-1 (z-ai/glm-5.3); both seats agree (two model families). E2E results cited in the PR description are author-reported, not independently reproduced.
The failing Security Audit for inherited RUSTSEC-2026-0387 is a merge gate, not a blocker to this approval.
Nic-dorman
deleted the
nic/v2-1869-ant-node-e2e-harness-gives-every-dht-request-only-2-s
branch
November 5, 2026 12:11
grumbach
added a commit
to grumbach/ant-node
that referenced
this pull request
Nov 6, 2026
Brings in main up to 360d472: OS-assigned ports for e2e test nodes (WithAutonomi#281) and devnet nodes (WithAutonomi#282), release-key and signature checks (WithAutonomi#276), the third-party notices and audit-regression CI gates (WithAutonomi#274, WithAutonomi#275), the 10 s DHT request timeout for test nodes (WithAutonomi#277), and the 0.24.0 release (WithAutonomi#283). One conflict, in tests/e2e/harness.rs: main removed the network bring-up retry on a fresh port range together with NETWORK_START_ATTEMPTS and its `warn` import, and this branch had added two helpers next to them (POSSESSION_PENALTY_TRUST_RATIO and parseable_single_node_proof). The resolution keeps both helpers and takes main's removal.
This was referenced Nov 6, 2026
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.
tests/e2e/testnet.rssetTEST_CORE_CONNECTION_TIMEOUT_SECS = 2. It came from 857398c, which kept DHT leave waits short during teardown and, in the same commit, made shutdown concurrent.But saorsa-core uses a node's
connection_timeoutfor two things: the connection timeout, and the request timeout of every DHT operation (network.rs:request_timeout: config.connection_timeout). So the e2e nodes gave each peer 2 s to answer any DHT lookup, against 25 s in production.ant-client's harness had the same trap at 5 s, and it caused its E2E macOS flake (V2-1852, ant-client #248). On loaded runners, witnessed close-group lookups dropped slow but live peers, and uploads failed with "found 6 peers, need 7". Both harnesses now use 10 s under the same constant name, with the same explanation, and each says to keep the two in step.
shutdown()here already stops nodes concurrently, so the longer value doesn't add up across nodes.Linear issue
Closes V2-1869
Risk tier
Compatibility
tests/e2e/testnet.rs).Semver impact
Test evidence
This repo, dev2 (Linux, 4 cores, debug,
-D warnings). Thee2etarget was run with--features test-utils -- --test-threads=1, as CI runs it, both binaries built from 369a2e2:The tests that stop nodes partway through (replication, chunk) are no slower.
Choosing 10 s (ant-client's flaky test, 14 nodes, CPU capped with
systemd-run -p CPUQuota):New dependency
none
ADR
n/a
Mitigation / rollback
Revert. If a test that waits out a dead peer turns out too slow, lower the constant, and lower ant-client's to match.
🤖 Generated with Claude Code