cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mina Naguib <>
Subject Re: Cassandra C client implementation
Date Thu, 15 Dec 2011 01:53:40 GMT

Hi Vlad

I'm the author of libcassie.

For what it's worth, it's in production where I work, consuming a heavily-used cassandra 0.7.9

We do have plans to upgrade the cluster to 1.x, to benefit from all the improvements, CQL,
etc... but that includes revising all our clients (across several programming languages).

So, it's definitely on my todo list to address our C clients by either upgrading libcassie,
or possibly completely rewriting it.

Currently it's a wrapper around the C++ parent project libcassandra.  I haven't been fond
of having that many layered abstractions, and the thrift Glib2 interface has definitely piqued
my interest, so I'm leaning towards a complete rewrite.

While we're at it, it would also be nice to have features like asynchronous modes for popular
event loops, connection pooling, etc.

Unfortunately, I have no milestones set for any of this, nor the time (currently) to experiment
and proof-of-concept it.

I'd be curious to hear from other C hackers whether they've experimented with the thrift Glib2
interface and gotten a "hello world" to work against cassandra 1.x.  Perhaps there's room
for some code sharing/collaboration on a new library to supersede the existing libcassie+libcassandra.

On 2011-12-14, at 5:16 PM, Vlad Paiu wrote:

> Hello Eric,
> We have that, thanks alot for the contribution.
> The idea is to not play around with including C++ code in a C app, if there's an alternative
( the thrift g_libc ).
> Unfortunately, since thrift does not generate a skeleton for the glibc code, I don't
know how to find out what the API functions are called, and guessing them is not going that
good :)
> I'll wait a little longer & see if anybody can help with the C thrift, or at least
tell me it's not working. :)
> Regards,
> Vlad
> Eric Tamme <> wrote:
>> On 12/14/2011 04:18 PM, Vlad Paiu wrote:
>>> Hi,
>>> Just tried libcassie and seems it's not compatible with latest cassandra, as
even simple inserts and fetches fail with InvalidRequestException...
>>> So can anybody please provide a very simple example in C for connecting&
 fetching columns with thrift ?
>>> Regards,
>>> Vlad
>>> Vlad Paiu<>  wrote:
>> Vlad,
>> We have written a specific cassandra db module for usrloc with opensips 
>> and have open sourced it on github.  We use the thrift generated c++ 
>> bindings and extern stuff to c.  I spoke to bogdan about this a while 
>> ago, and gave him the github link, but here it is for your reference   
>> Hopefully that helps.  I idle in #opensips too,  just ask about 
>> cassandra in there and I'll probably see it.
>> - Eric Tamme

View raw message