[ https://issues.apache.org/jira/browse/HIVE-13415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15226875#comment-15226875 ]
Szehon Ho commented on HIVE-13415: ---------------------------------- There's some great discussion about HIVE-9601 there. I think the discussion makes sense, I agree with Carl and in hindsight that HIVE-9601 made some physical assumption about the session that may not apply for all sessions. I wonder can this piece of code can be made configurable to solve this use-case? The point of HIVE-9601 is that a large number of HS2 clients (for example, Beeline) do want to close the session after disconnect, as they are never going to come back for it. If this is reverted without making it configurable, there will be quite some resource leaks of session-level resources, which is also quite terrible. > 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)