[ 
https://issues.apache.org/jira/browse/HIVE-24786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Prasanth Jayachandran updated HIVE-24786:
-----------------------------------------
    Description: 
When hiveserver2 is behind multiple proxies there is possibility of "broken 
pipe", "connect timeout" and "read timeout" exceptions if one of the 
intermediate proxies or load balancers decided to reset the underlying tcp 
socket after idle timeout. When the connection is broken and when the query is 
submitted after idle timeout from beeline (or client) perspective the 
connection is open but http methods (POST/GET) fails with socket related 
exceptions. Since these methods are not sent to the server these are safe for 
client side retries. 

 

Also HIVE-12371 seems to apply the socket timeout only to binary transport. 
Same can be passed on to http client as well to avoid retry hang issues with 
infinite timeouts. 

  was:When hiveserver2 is behind multiple proxies there is possibility of 
"broken pipe", "connect timeout" and "read timeout" exceptions if one of the 
intermediate proxies or load balancers decided to reset the underlying tcp 
socket after idle timeout. When the connection is broken and when the query is 
submitted after idle timeout from beeline (or client) perspective the 
connection is open but http methods (POST/GET) fails with socket related 
exceptions. Since these methods are not sent to the server these are safe for 
client side retries. 


> JDBC HttpClient should retry for idempotent and unsent http methods
> -------------------------------------------------------------------
>
>                 Key: HIVE-24786
>                 URL: https://issues.apache.org/jira/browse/HIVE-24786
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 4.0.0
>            Reporter: Prasanth Jayachandran
>            Assignee: Prasanth Jayachandran
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> When hiveserver2 is behind multiple proxies there is possibility of "broken 
> pipe", "connect timeout" and "read timeout" exceptions if one of the 
> intermediate proxies or load balancers decided to reset the underlying tcp 
> socket after idle timeout. When the connection is broken and when the query 
> is submitted after idle timeout from beeline (or client) perspective the 
> connection is open but http methods (POST/GET) fails with socket related 
> exceptions. Since these methods are not sent to the server these are safe for 
> client side retries. 
>  
> Also HIVE-12371 seems to apply the socket timeout only to binary transport. 
> Same can be passed on to http client as well to avoid retry hang issues with 
> infinite timeouts. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to