Rajat Khandelwal created HIVE-13415:
---------------------------------------

             Summary: 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


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