The source of this issue is in lib/rb/lib/thrift/transport/http_client_transport.rb
If a client tries to send a pathological message that the server will alway error on in such a way as an exception is raised by the http.post method then the output buffer will never be cleared.
This means the next message will also include the first message in the post, re-causing what ever issue had occurred.
The fix is to move the clearing of the output buffer into an ensure block so that it will be cleared whenever flush is invoked.
This is my first time submitting an issue to apache, I would be happy to submit a patch or attempt to test if someone could help me though the on boarding process.