You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Steve Carlin (Jira)" <ji...@apache.org> on 2021/05/02 22:37:00 UTC

[jira] [Created] (HIVE-25085) MetaStore Clients are being shared across different sessions

Steve Carlin created HIVE-25085:
-----------------------------------

             Summary: MetaStore Clients are being shared across different sessions
                 Key: HIVE-25085
                 URL: https://issues.apache.org/jira/browse/HIVE-25085
             Project: Hive
          Issue Type: Bug
          Components: HiveServer2
            Reporter: Steve Carlin


The Hive object (and the underlying MetaStoreClient object) seems to be getting shared across different sessions.  While most operations work, there can be occasional glitches.  

One such noted glitch is that when session 1 ends, it closes the connection.  If session 2 then tries an operation, the first try will fail.  Normally this can proceed because the RetryingMetaStoreClient will re-establish a new connection, but in some operations, the retrying logic will not kick in (by design).

It seems there was an attempt to fix this issue in HIVE-20682.  However, this implementation seems to be flawed.  The HiveSessionImpl object creates a Hive object and makes sure all thread queries belonging to the same session will run with the same Hive object.  The flaw is that the initial Hive Object within HiveSessionImpl is created in thread local storage.  The thread being run at that moment is not session specific.  It belongs to a thread pool that happens to be handling this specific session.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)