incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Evan Weaver <>
Subject Re: Alternative wire protocols
Date Tue, 30 Jun 2009 18:43:48 GMT
FYI from a co-worker about faking unions in Thrift:

"What we did for this issue when using protocol buffers was to encode a
protobuf payload as a binary blob, and deserialize it on the other
side using an enum to determine which protobuf type to expect. It's
not elegant but it's code you write once and forget about."


On Sun, Jun 28, 2009 at 6:27 AM, Jonathan Ellis<> wrote:
> On Sun, Jun 28, 2009 at 7:49 AM, Bill de hOra<> wrote:
>> I've been playing around again with Cassandra recently and I agree Thrift is
>> a pain point, and that was the case when I looked at the project originally.
>> But I think it's not so much Thrift as how the data is presented to clients.
>> Much more important to me is that to use Cassandra means reading and
>> understanding the service api calls in cassandra.thrift. Personally I
>> wouldn't have designed a fine grained API over the generic data structures
>> implied by a colum store, where simple filters and selects become a litany
>> of get_by_X calls. For example, 4 methods return list<column_t>, 2 return
>> list<string>, 2 return list<superColumn_t>, there are 5 get_slice and
>> get_column variants. And typical of RPC, none of this stuff composes.
> Yes.  This is what I hate about Thrift.  (Well, one of several. :)
> This would help with the proliferation of filter calls, but it's
> moving at typical Thrift pace:
> -Jonathan

Evan Weaver

View raw message