You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Xuefu Zhang (JIRA)" <ji...@apache.org> on 2017/08/28 21:36:00 UTC

[jira] [Commented] (HIVE-17401) Hive session idle timeout doesn't function properly

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

Xuefu Zhang commented on HIVE-17401:
------------------------------------

{code}  
private void startTimeoutChecker() {
  ...
    final Runnable timeoutChecker = new Runnable() {
      @Override
      public void run() {
        sleepFor(interval);
        while (!shutdown) {
          ...
            if (sessionTimeout > 0 && session.getLastAccessTime() + sessionTimeout <= current
                && (!checkOperation || session.getNoOperationTime() > sessionTimeout)) {
              ...
            } else {
              session.closeExpiredOperations();
            }
          }
          sleepFor(interval);
        }
      }
{code}
In the condition {{session.getNoOperationTime() > sessionTimeout}} is not true, execution will go to else clause. However, {{session.closeExpiredOperations();}} will eventually call HiveSessionImpl.acquire(), which will set {{lastIdleTime = 0}}. This will make the condition {{session.getNoOperationTime() > sessionTimeout}} never true, causing a session leak.

> Hive session idle timeout doesn't function properly
> ---------------------------------------------------
>
>                 Key: HIVE-17401
>                 URL: https://issues.apache.org/jira/browse/HIVE-17401
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 1.1.0
>            Reporter: Xuefu Zhang
>            Assignee: Xuefu Zhang
>
> It's apparent in our production environment that HS2 leaks sessions, which at least contributed to memory leaks in HS2. We further found that idle HS2 sessions rarely get timed out and the number of live session keeps increasing as time goes on. Eventually, HS2 becomes irresponsive and demands a restart.
> Investigation shows that session idle timeout doesn't work appropriately.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)