[ 
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)

Reply via email to