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.

Matthew Rathbone's Picture

Matthew Rathbone

Consultant Big Data Infrastructure Engineer at Rathbone Labs. British. Data Nerd. Lucky husband and father.

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

Join the discussion