Open
Conversation
…up for async DNS - Add AddressResolverGroup config to AsyncHttpClientConfig interface - Add field, getter, builder method to DefaultAsyncHttpClientConfig - ChannelManager creates DnsAddressResolverGroup by default for async DNS with inflight coalescing - Add AddressResolver-based resolution path in RequestHostnameResolver - NettyRequestSender uses group resolver when request uses default resolver - ChannelManager.getBootstrap uses group resolver for SOCKS proxy resolution - Deprecate RequestBuilderBase.DEFAULT_NAME_RESOLVER (kept as sentinel) Agent-Logs-Url: https://github.com/doom369/async-http-client/sessions/b442c622-4c82-440d-84d0-50ee30bf3f27 Co-authored-by: doom369 <1536494+doom369@users.noreply.github.com>
…compat - TransportFactory now provides getDatagramChannelClass() for DNS resolver - Updated all transport factories (NIO, Epoll, KQueue, IoUring) with datagram channel support - ChannelManager uses transport-matched datagram channel for DnsAddressResolverGroup - RequestHostnameResolver wraps DNS errors in UnknownHostException for backward compat Agent-Logs-Url: https://github.com/doom369/async-http-client/sessions/b442c622-4c82-440d-84d0-50ee30bf3f27 Co-authored-by: doom369 <1536494+doom369@users.noreply.github.com>
…nc DNS - Remove deprecation from DEFAULT_NAME_RESOLVER (restored to original) - ChannelManager no longer auto-creates DnsAddressResolverGroup; uses config value or null - NettyRequestSender checks config.getAddressResolverGroup() instead of identity check - getBootstrap falls back to per-request NameResolver when no group is configured - Default behavior is unchanged; users opt-in via setAddressResolverGroup() Agent-Logs-Url: https://github.com/doom369/async-http-client/sessions/f6e6623f-4edb-4e85-92bf-2b1f44f3c066 Co-authored-by: doom369 <1536494+doom369@users.noreply.github.com>
…solverGroup test - Revert TransportFactory and all 4 implementations to original state (remove getDatagramChannelClass() which is unnecessary since resolver group is user-provided) - Add AddressResolverGroupTest with 4 test cases covering opt-in async DNS - Fix javadoc to reflect opt-in (not auto-created) behavior Agent-Logs-Url: https://github.com/doom369/async-http-client/sessions/dc06458d-dac1-45b3-8e11-c62caeaf3a3d Co-authored-by: doom369 <1536494+doom369@users.noreply.github.com>
… lazy resolver init - Added tests for real domains (google.com, example.com) with network availability check via assumeTrue - Made getAddressResolverGroup() a default method returning null in the interface to avoid breaking downstream implementations - Lazily obtain group resolver only in branches that need DNS resolution - Added fail() to unknownHost test for proper assertion - Documented resolver group lifecycle ownership in builder Javadoc Agent-Logs-Url: https://github.com/doom369/async-http-client/sessions/ef98f786-3665-4a5f-9005-60ebdba761b1 Co-authored-by: doom369 <1536494+doom369@users.noreply.github.com>
Agent-Logs-Url: https://github.com/doom369/async-http-client/sessions/ef98f786-3665-4a5f-9005-60ebdba761b1 Co-authored-by: doom369 <1536494+doom369@users.noreply.github.com>
…Group, simplify error handling Agent-Logs-Url: https://github.com/doom369/async-http-client/sessions/b617a76d-89c2-45ca-b160-407a5737bcc7 Co-authored-by: doom369 <1536494+doom369@users.noreply.github.com>
Add opt-in AddressResolverGroup support for async DNS resolution
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.
Fixes #1724. Preserve the previous behaviour + ability to plug own DNS name resolver.
Found it yesterday on our prod server: