Hello,

Congratulations on your work on libcassandra & libcassie.
I agree with you that too many abstractions are not a good thing, that's why I think thrift & glib are a much better way to go than thrift & cpp & libcassandra & libcassie.

I as well am looking for a very basic Thrift & glibc example for Cassandra, with no 'advanced' features like connection pooling, asynchronous stuff, etc. Just a plain & simple connection, an insert and a column fetch that works with the latest 1.x Cassandra.
I think it would be a great starting point and we could move on from there.

Regards,

Vlad Paiu
OpenSIPS Developer


On 12/15/2011 03:53 AM, Mina Naguib wrote:
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