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

Thiruvel Thirumoolan updated THRIFT-2268:
-----------------------------------------

    Attachment: THRIFT-2268.patch

Attaching preliminary patch with which all unit tests pass. Here I track where 
the EOF is reached, if its reached before the header or a proper header is 
read, then I throw a different exception and ignore it later. I use a new 
exception because, this happens during getTransport() and the thrift 
application could have overriden the transportFactory (which Hive does) and any 
other exceptions might get swallowed.

> Modify TSaslTransport to ignore TCP health checks from loadbalancers
> --------------------------------------------------------------------
>
>                 Key: THRIFT-2268
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2268
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Java - Compiler
>    Affects Versions: 0.9
>            Reporter: Thiruvel Thirumoolan
>            Priority: Minor
>             Fix For: 0.9.2, 1.0
>
>         Attachments: THRIFT-2268.patch
>
>
> Thrift Server with TSaslTransport throws TTransportExceptions when deployed 
> behind a hardware load balancer.
> We have deployed thrift servers HiveServer2 and HCatalog (both Apache Hive 
> components) behind hardware load balancers. The load balancer does a TCP 
> health check on the port where the thrift server (HiveServer2/HCatalog) is 
> running. Some of the load balancers complete the TCP handshake and then close 
> the connection without any data and therefore thrift has to handle it this 
> connection. Because the TCP health check happens very frequently - about 
> 10-20 times a minute, the logs are filled with TTransportExceptions. The 
> current logic assumes a valid header and if its not present (TCP health 
> check), then it keeps throwing exceptions.
> This JIRA attempts to ignore these which does not have a valid header.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to