You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Zhu Zhu (Jira)" <ji...@apache.org> on 2025/12/10 07:07:00 UTC
[jira] [Closed] (FLINK-38754) An unnecessary reverse DNS lookup when TaskManager connects to BlobServer
[ 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)