hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xuefu Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-13415) Decouple Sessions from thrift binary transport
Date Tue, 05 Apr 2016 21:28:25 GMT

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

Xuefu Zhang commented on HIVE-13415:
------------------------------------

Maybe we should consider closing any synchronous operation if client connection is declared
lost and close the whole session if there are no live asynch ops. This seems universally true
as there is no way for the client to retried the orphaned operation, and keeping them around
seems just wasteful in resources. For asynchronous ops, they can live until expiration since
client has a handle to further deal with them. 

For other DBs such as oracle or mysql, client loses the session when it disconnects from the
server. It's more complicated for Hive as Hive allows async ops, which is why I proposed above.



> Decouple Sessions from thrift binary transport
> ----------------------------------------------
>
>                 Key: HIVE-13415
>                 URL: https://issues.apache.org/jira/browse/HIVE-13415
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: Rajat Khandelwal
>            Assignee: Rajat Khandelwal
>         Attachments: HIVE-13415.01.patch
>
>
> Current behaviour is:
> * Open a thrift binary transport
> * create a session
> * close the transport
> Then the session gets closed. Consequently, all the operations running in the session
also get killed.
> Whereas, if you open an HTTP transport, and close, the enclosing sessions are not closed.

> This seems like a bad design, having transport and sessions tightly coupled. I'd like
to fix this. 
> The issue that introduced it is [HIVE-9601|https://github.com/apache/hive/commit/48bea00c48853459af64b4ca9bfdc3e821c4ed82]
Relevant discussions at [here|https://issues.apache.org/jira/browse/HIVE-11485?focusedCommentId=15223546&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15223546],
[here|https://issues.apache.org/jira/browse/HIVE-11485?focusedCommentId=15223827&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15223827]
and mentioned links on those comments. 
> Another thing that seems like a slightly bad design is this line of code in ThriftBinaryCLIService:
> {noformat}
> server.setServerEventHandler(serverEventHandler);
> {noformat}
> Whereas serverEventHandler is defined by the base class, with no users except one sub-class(ThriftBinaryCLIService),
violating the separation of concerns. 



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

Mime
View raw message