[
https://issues.apache.org/jira/browse/FLINK-38754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhu Zhu closed FLINK-38754.
---------------------------
Resolution: Fixed
7ba97419d200adef672b67c52c2b5a79f277cfda
> An unnecessary reverse DNS lookup when TaskManager connects to BlobServer
> -------------------------------------------------------------------------
>
> Key: FLINK-38754
> URL: https://issues.apache.org/jira/browse/FLINK-38754
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Coordination
> Reporter: Yi Zhang
> Assignee: Yi Zhang
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.3.0
>
>
> An unnecessary reverse DNS lookup occurs when creating a BlobClient.
> Specifically, during the connection establishment between BlobClient and
> BlobServer, the code invokes `InetSocketAddress#getHostName()` and
> subsequently recreates the `InetSocketAddress`.
> I understand this behavior was introduced as part of the fix for FLINK-10213
> to add retry logic in case of initial DNS resolution failures. However, in
> real-world production environments, when a TaskManager establishes a
> connection with the ResourceManager, it may get an IP address string directly
> (e.g., when no DNS service is available or to minimize DNS-related overhead).
> In such cases, calling getHostName() triggers an unnecessary reverse DNS
> lookup, which can introduce latency and potential failure points.
> Maybe it's better to change the implementation to use
> `InetSocketAddress#getHostString()` instead, which returns the original
> hostname or IP address string without performing any reverse DNS resolution.
> This would avoid the redundant lookup while preserving the intended retry
> logic for actual hostnames.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)