hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vaibhav Gumashta (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-8723) Set reasonable connection timeout for CuratorFramework ZooKeeper clients in Hive
Date Tue, 04 Nov 2014 07:10:33 GMT

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

Vaibhav Gumashta commented on HIVE-8723:
----------------------------------------

cc [~thejas]

> Set reasonable connection timeout for CuratorFramework ZooKeeper clients in Hive
> --------------------------------------------------------------------------------
>
>                 Key: HIVE-8723
>                 URL: https://issues.apache.org/jira/browse/HIVE-8723
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 0.14.0
>            Reporter: Vaibhav Gumashta
>            Assignee: Vaibhav Gumashta
>         Attachments: HIVE-8723.1.patch
>
>
> Currently we use -1, due to which "any" elapsed time is always greater than any timeout
value resulting in an unnecessary connection loss exception. Relevant code from curator framework:
> {code}
>  private synchronized void checkTimeouts() throws Exception
>     {
>         int minTimeout = Math.min(sessionTimeoutMs, connectionTimeoutMs);
>         long elapsed = System.currentTimeMillis() - connectionStartMs;
>         if ( elapsed >= minTimeout )
>         {
>             if ( zooKeeper.hasNewConnectionString() )
>             {
>                 handleNewConnectionString();
>             }
>             else
>             {
>                 int maxTimeout = Math.max(sessionTimeoutMs, connectionTimeoutMs);
>                 if ( elapsed > maxTimeout )
>                 {
>                     if ( !Boolean.getBoolean(DebugUtils.PROPERTY_DONT_LOG_CONNECTION_ISSUES)
)
>                     {
>                         log.warn(String.format("Connection attempt unsuccessful after
%d (greater than max timeout of %d). Resetting connection and trying again with a new connection.",
elapsed, maxTimeout));
>                     }
>                     reset();
>                 }
>                 else
>                 {
>                     KeeperException.ConnectionLossException connectionLossException =
new CuratorConnectionLossException();
>                     if ( !Boolean.getBoolean(DebugUtils.PROPERTY_DONT_LOG_CONNECTION_ISSUES)
)
>                     {
>                         log.error(String.format("Connection timed out for connection
string (%s) and timeout (%d) / elapsed (%d)", zooKeeper.getConnectionString(), connectionTimeoutMs,
elapsed), connectionLossException);
>                     }
>                     tracer.get().addCount("connections-timed-out", 1);
>                     throw connectionLossException;
>                 }
>             }
>         }
>     }
> {code}



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

Mime
View raw message