IMO, Thrift provides a lot out of the box, and, all things considered, reduces our complexity greatly. For example:

* THsHaServer is great for our execution model
* We can inherit things like SSL and SASL (Kerberos)
* An _implemented_ RPC service (stuff like Hadoop RPC and Protobuf just provide the Service definition but not the actual transport).

I don't think the problems we have with Thrift are so great that we should throw it away.

dlmar...@comcast.net wrote:
What was it about Thrift that drove us to use it? Was it the bindings for 
multiple languages? Should this decision be revisited?

----- Original Message -----

From: "Josh Elser"<josh.el...@gmail.com>
To: "dev"<dev@accumulo.apache.org>
Sent: Tuesday, December 1, 2015 12:49:26 PM
Subject: State of our RPCs

Hi --

My adventures in Thrift as a part of ACCUMULO-4065 are finally coming to
a close, it seems. The briefest summary I can give is that our hack to
work around an 0.9.0->0.9.1 compatibility issue ended up creating a bug
in a very obtuse case (when a server answering a oneway Thrift call
threw an RTE or an Error).

Given some other recent chatter in the project, I'm left wondering: what
next?

We've long considered Thrift to be a very useful tool, but extremely
scary to upgrade. I think this is just another sign of this. This leaves
me asking, how do we fix this?

Best as I understand it, Thrift is still a relatively active project (at
least their mailing list archives shows it). My impression is that the
Java library is much less-so. Most of our issues to me that they
ultimately stem from incompatibilities between libthrift versions and
uncaught performance regressions.

Assuming that to be true, do we need to make a coordinated effort to
improve the upstream libthrift code? Become a part of their community,
focusing on preventing these sorts of issues from ever filtering down to
us? Help them generate and follow compatibility guidelines?

I feel like our strategy over the past few years has been to "avert your
eyes" -- if we don't touch it, it'll hopefully be ok. Perhaps we need to
try something new. Thoughts?

- Josh


Reply via email to