yyqdbngt opened a new pull request, #2866:
URL: https://github.com/apache/rocketmq-dashboard/pull/2866

   ## Summary
   - Bound name resolution in `SocketProxyHealthProbe` to the probe's 
`timeoutMillis` budget
   - IP literals (IPv4 / bracketed IPv6) still resolve inline; hostnames are 
resolved on a background thread and joined within the remaining budget
   - Add a new `SocketProxyHealthProbeTest` with regression tests for 
reachable/closed ports, fast resolution, and slow-DNS degradation
   
   ## Why
   `new InetSocketAddress(host, port)` performs a blocking DNS lookup for 
hostname-based proxy addresses, and the socket `connect` timeout only covers 
the TCP handshake — not the resolution. A slow or unresponsive DNS server could 
therefore hold a probe thread far past the 2s per-probe budget and the 10s 
overall topology budget; with only 8 probe threads, a few such lookups stall 
the whole proxy topology build even for healthy nodes.
   
   ## Testing
   - `mvn -Dtest='SocketProxyHealthProbeTest,ProxyAddressServiceTest' test` → 
SocketProxyHealthProbeTest 5/5 (new class), ProxyAddressServiceTest 17/17 (main 
consumer of the probe)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to