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 cluster.

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 <eta...@gmail.com> 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<vladp...@opensips.org>  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   
>> https://github.com/junction/db_jnctn_usrloc
>> 
>> Hopefully that helps.  I idle in #opensips too,  just ask about 
>> cassandra in there and I'll probably see it.
>> 
>> - Eric Tamme
>> 

Reply via email to