hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kihwal Lee (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-8068) Do not retry rpc calls If the proxy contains unresolved address
Date Mon, 06 Apr 2015 21:01:12 GMT

    [ https://issues.apache.org/jira/browse/HDFS-8068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14481923#comment-14481923
] 

Kihwal Lee commented on HDFS-8068:
----------------------------------

The patch adds a check in {{NameNodeProxies#createNonHAProxy()}}. If the address is unresolved
(i.e. cannot be resolved), it throws. This makes the rpc proxy creation fail for both HA and
non-HA case. In HA, failover proxy providers get this exception and thow a {{RunTimeException}}
in {{getProxy()}}, which is called by {{RetryInvocationHandler}} in its ctor or {{invoke()}}
during failover.  If {{ConfiguredFailoverProxyProvider}} is used and the initial proxy object
was okay, the second {{getProxy()}} call from {{invoke()}} will throw. In this case, the particular
call will fail instead of the proxy creation. The (ha)proxy in the {{DFSClient}} instance
is still intact, so creation of underlying non-HA proxy will be retried in the next call.

> Do not retry rpc calls If the proxy contains unresolved address
> ---------------------------------------------------------------
>
>                 Key: HDFS-8068
>                 URL: https://issues.apache.org/jira/browse/HDFS-8068
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Kihwal Lee
>            Assignee: Kihwal Lee
>         Attachments: HDFS-8068.v1.patch
>
>
> When the InetSocketAddress object happens to be unresolvable (e.g. due to transient DNS
issue), the rpc proxy object will not be usable since the client will throw UnknownHostException
when a Connection object is created. If FailoverOnNetworkExceptionRetry is used as in the
standard HA failover proxy, the call will be retried, but this will never recover.  Instead,
the validity of address must be checked on pxoy creation and throw if it is invalid.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message