[
https://issues.apache.org/jira/browse/FLINK-38754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18042382#comment-18042382
]
Yi Zhang commented on FLINK-38754:
----------------------------------
Hi [~fcsaky]. What do you think of the proposed changes? If there are no
concerns, could you please assign this issue to me? Thanks!
> 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
> Priority: Minor
> 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)