Skip to content

Fix Long Test with IPv6#7967

Open
maxtropets wants to merge 3 commits into
microsoft:mainfrom
maxtropets:f/fix-longtest-ipv6
Open

Fix Long Test with IPv6#7967
maxtropets wants to merge 3 commits into
microsoft:mainfrom
maxtropets:f/fix-longtest-ipv6

Conversation

@maxtropets

@maxtropets maxtropets commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

The Debug and Release failures were the same issue: recovery_test timed out in the new recovery_ipv6 subtest.

recovery_ipv6 started correctly, opened an IPv6 network on ::1, then entered the --with-load phase before recovery. It started Locust with an invalid IPv6 URL:

https://::1:<port>

IPv6 literals in URLs must be bracketed:

https://[::1]:<port>

Because the load target URL was malformed, Locust did not drive traffic as expected. The test waited for committed seqnos to advance before beginning recovery, but they never advanced enough, so recovery_test hit the CTest timeout.

Root cause

tests/infra/service_load.py built load target URLs manually:

f"https://{host}:{port}"

That works for IPv4, but not IPv6.

Fix

Use the existing bracket-aware helper:

"https://" + infra.interfaces.make_address(host, port)

This preserves IPv4 output and correctly formats IPv6 as [::1]:port.

Validation

Focused IPv6 recovery test now passes:

CR_FILTER=recovery_ipv6 ./tests.sh --output-on-failure --timeout 600 -R '^recovery_test$'

Result:

100% tests passed, 0 tests failed out of 1

@maxtropets maxtropets requested a review from Copilot June 23, 2026 14:19
@maxtropets maxtropets self-assigned this Jun 23, 2026
@maxtropets maxtropets requested a review from a team as a code owner June 23, 2026 14:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes an IPv6 regression affecting the long-running load test infrastructure by ensuring the target RPC host URL is constructed with correct bracket handling for IPv6 literals (eg https://[::1]:8000), matching the IPv6 address-formatting helpers introduced in #7671.

Changes:

  • Update make_target_host() to build the URL using infra.interfaces.make_address(host, port) so IPv6 hosts are correctly bracketed.
  • Add the infra.interfaces import to support the new helper usage.

Custom instructions used:

  • .github/copilot-instructions.md

@mergify

mergify Bot commented Jun 23, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-long-test Run Long Test job

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants