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

Szehon Ho commented on HIVE-13415:
----------------------------------

I'm not sure if I understand this right, but this would still lead to some 
wasted resource for BeeLine usage like HIVE-9601 (until expiration), as BeeLine 
does not come back once connection is lost.

HiveStatement.execute() uses async submission today, and hence BeeLiine by 
extension will keep the session open until expiration, even if it dies?

> 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