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.