[ https://issues.apache.org/jira/browse/HIVE-25191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt McCline reassigned HIVE-25191: ----------------------------------- > Modernize Hive Thrift CLI Service Protocol > ------------------------------------------ > > Key: HIVE-25191 > URL: https://issues.apache.org/jira/browse/HIVE-25191 > Project: Hive > Issue Type: Bug > Reporter: Matt McCline > Assignee: Matt McCline > Priority: Major > > Unnecessary errors are occurring with the advent of proxy use such as > Gateways between the Hive client and Hive Server 2. Query failures can be due > to arbitrary proxy timeouts. This proposal avoids the timeouts by changing > the protocol to do regular polling. Currently, the Hive client uses one > request for the query compile request. Long query compile times make those > requests vulnerable to the arbitrary proxy timeouts. > Another issue is Hive Server 2 sometimes does not notice the client has > failed or has lost interest in a potentially long running query. This causes > Hive locks and Big Data query resources to be held unnecessarily. The > assumption is the client issues a cancel query request when it gets an error. > This assumption does not always hold. If the proxy returned an error itself, > that proxy may reject the subsequent cancel request, too. And, if the client > is killed or the network is down, the client cannot complete a cancel > request. The proposed solution here is for Hive Server 2 to watch that the > client is sending regular polling requests for status. If a client ceases > those requests, then Hive Server 2 will cancel the query. > Hive owns the JDBC path (i.e. HiveDriver). The ODBC path may be more > challenging because vendors provide ODBC drivers and Hive does not own the > ODBC protocol. -- This message was sent by Atlassian Jira (v8.3.4#803005)