hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15856) Cached Connection instances can wind up with addresses never resolved
Date Fri, 20 May 2016 21:58:13 GMT

    [ https://issues.apache.org/jira/browse/HBASE-15856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15294328#comment-15294328

Hudson commented on HBASE-15856:

FAILURE: Integrated in HBase-1.4 #166 (See [https://builds.apache.org/job/HBase-1.4/166/])
HBASE-15856 Don't cache unresolved addresses for connections (garyh: rev df40739ae7217568b5dfeb9eb8fe922f6242042a)
* hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientTimeouts.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnectionImplementation.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AbstractRpcClient.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java

> Cached Connection instances can wind up with addresses never resolved
> ---------------------------------------------------------------------
>                 Key: HBASE-15856
>                 URL: https://issues.apache.org/jira/browse/HBASE-15856
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>            Reporter: Gary Helmling
>            Assignee: Gary Helmling
>            Priority: Critical
>             Fix For: 2.0.0, 1.3.0, 1.2.2, 0.98.20, 1.1.6
>         Attachments: HBASE-15856.001.patch, HBASE-15856.002.patch, HBASE-15856.003.patch
> During periods where DNS is not working properly, we can wind up caching connections
to master or regionservers where the initial hostname resolution and the resolution is never
re-attempted.  This means that clients will forever get UnknownHostException for any calls.
> When constructing a BlockingRpcChannelImplementation, we instantiate the InetSocketAddress
to use for the connection.  This instance is then used in the rpc client connection, where
we check isUnresolved() and throw an UnknownHostException if that returns true.  However,
at this point the rpc channel is already cached in the HConnectionImplementation map of stubs.
 So at this point it will never be resolved.
> Setting the config for hbase.resolve.hostnames.on.failure masks this issue, since the
stub key used is modified to contain the address.  However, even in that case, if DNS fails,
an rpc channel instance with unresolved ISA will still be cached in the stubs under the hostname
only key.

This message was sent by Atlassian JIRA

View raw message