[
https://issues.apache.org/jira/browse/HIVE-25191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matt McCline resolved HIVE-25191.
---------------------------------
Resolution: Invalid
> Modernize Hive Thrift CLI Service Protocol
> ------------------------------------------
>
> Key: HIVE-25191
> URL: https://issues.apache.org/jira/browse/HIVE-25191
> Project: Hive
> Issue Type: Improvement
> 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)