A Warning About Apache Thrift's Asynchronous Clients
Hire me to supercharge your Hadoop and Spark projects
I help businesses improve their return on investment from big data projects. I do everything from software architecture to staff training. Learn More
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.