Hello,
Sorry, wrong link in the previous email. Proper link is
http://svn.apache.org/viewvc/thrift/trunk/lib/c_glib/test/
Regards,
Vlad Paiu
OpenSIPS Developer
On 12/15/2011 08:35 PM, Vlad Paiu wrote:
Hello,
While digging more for this I've found these :
http://svn.apache.org/viewvc/thrift/lib/c_glib/test/
Which shows how to create the TSocket and TTransport structures, very similar
to the way it's done in C++.
Now I'm stuck on how to create the actual connection to the Cassandra server.
It should be a function generated by the Cassandra thrift interface, but I
can't seem to find the proper one.
Any help would be very much appreciated.
Regards,
Vlad
Mina Naguib<mina.nag...@bloomdigital.com> 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