Skip to content

fix(control): preserve DNS state for group override options#997

Open
ayanamists wants to merge 1 commit into
daeuniverse:mainfrom
ayanamists:fix-group-override-daedns
Open

fix(control): preserve DNS state for group override options#997
ayanamists wants to merge 1 commit into
daeuniverse:mainfrom
ayanamists:fix-group-override-daedns

Conversation

@ayanamists

Copy link
Copy Markdown

What this PR does

When a group overrides health-check options, dae rebuilds a GlobalOption for cloned dialers. That rebuilt option preserved the transport cache namespace at the call site, but it did not preserve runtime state injected into the base option, especially DaeDNS.

As a result, cloned dialers in groups with tcp_check_url, udp_check_dns, check_interval, or check_tolerance overrides could skip DaeDNS.WrapNodeDialer(...) and fall back to the default resolver for node hostnames.

This patch passes the base option into ParseGroupOverrideOption and preserves the runtime fields needed by cloned dialers.

Tests

  • go test -tags dae_stub_ebpf ./control -run TestParseGroupOverrideOptionPreservesRuntimeDialerState -count=1
  • go test -tags dae_stub_ebpf ./control -count=1

@ayanamists ayanamists requested a review from a team as a code owner May 10, 2026 04:23
@ayanamists ayanamists force-pushed the fix-group-override-daedns branch from 2c5e65c to a048e24 Compare May 10, 2026 14:20
@jschwinger233

Copy link
Copy Markdown
Member

貌似没有大问题,不过我不是特别熟悉 dns 这一部分,其他人有空的话也可以帮忙看一眼。

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants