A Warning About Apache Thrift's Asynchronous Clients
By default if you use the asynchronous client for thrift it will be using a FRAMED transport layer, even though there is no mention of this in the code / docs.
You’ll know this is happening because your server will give you the following error message when it receives an rpc:
org.apache.thrift.protocol.TProtocolException: Missing version in readMessageBegin, old client?
If you have no control over the server code (eg, if you’re using flume), then you’ll have to fall back to the synchronous client, sorry.