Commit 1a98cda
authored
fix: ensure conditional upstreams initialize independently of default upstreams (#1890)
Fixes #1639 where conditional DNS mappings would fail with "Not Ready"
errors when the default upstream was unreachable, even though conditional
upstreams have their own independent DNS servers.
The issue occurred when using `upstreams.init.strategy: fast`, where
conditional upstreams inherited the async initialization behavior. If
default upstreams were unreachable during this initialization window,
ALL queries (including conditional ones) would fail.
Changes:
- Conditional upstreams now always use blocking initialization regardless
of the global init strategy
- This ensures conditional DNS mappings are fully ready before accepting
queries and can resolve independently of default upstream status
- Updated test expectations to reflect the new resilient behavior
Impact:
Users with conditional DNS mappings (e.g., `local.dev: 192.168.1.1`)
will now have reliable local DNS resolution even when their primary
internet upstreams are down or unreachable.1 parent 9e293c0 commit 1a98cda
File tree
2 files changed
+14
-5
lines changed- resolver
2 files changed
+14
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
36 | 42 | | |
37 | 43 | | |
38 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
196 | | - | |
| 196 | + | |
197 | 197 | | |
198 | 198 | | |
199 | 199 | | |
| |||
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
210 | 213 | | |
211 | | - | |
212 | | - | |
| 214 | + | |
| 215 | + | |
213 | 216 | | |
214 | 217 | | |
215 | 218 | | |
| |||
0 commit comments