cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksandrs Saveljevs <Aleksandrs.Savelj...@zabbix.com>
Subject Problems using Thrift API in C
Date Thu, 28 Jul 2011 09:29:54 GMT
Dear all,

We are considering using Cassandra for storing gathered data in Zabbix 
(see https://support.zabbix.com/browse/ZBXNEXT-844 for more details). 
Because Zabbix is written in C, we are considering using Thrift API in 
C, too.

However, we are running into problems trying to get even the basic code 
work. Consider the attached source code. This is essentially a rewrite 
of the first part of the C++ example given at 
http://wiki.apache.org/cassandra/ThriftExamples#C.2B-.2B- . If we run it 
under strace, we see that it hangs on the call to recv() when setting 
keyspace:

$ strace -s 64 ./test
...
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(9160), 
sin_addr=inet_addr("127.0.0.1")}, 16) = 0
send(3, 
"\0\0\0/\200\1\0\1\0\0\0\fset_keyspace\0\0\0\0\v\0\1\0\0\0\vmy_keyspace\0", 
47, 0) = 47
recv(3, ^C <unfinished ...>

If we run the C++ example, it passes this step successfully. Does 
anybody know where the problem is? We are using Thrift 0.6.1 and 
Cassandra 0.8.1.

Also, what is the current state of Thrift API in C? Can it be considered 
stable? Has anybody used it successfully? Any examples?

Thanks,
Aleksandrs

Mime
View raw message