http://wiki.apache.org/cassandra/ThriftExamples is probably the place to start.
On Thu, Oct 14, 2010 at 08:57, <alta...@ceid.upatras.gr> wrote: > Thank you, I used TFramedTransport as per your suggestion and it works now! > > Maybe I should write this up in the wiki? Could you suggest a suitable page? > > Alexander > >> On Wed, Oct 13, 2010 at 08:21, <alta...@ceid.upatras.gr> wrote: >>> I want to create a thrift call and would like to know how to go about >>> it. >>> >>> I think what I should do is this: >>> >>> - add my call to cassandra.thrift (eg. string test(1:required string >>> arg), >>> within 'service Cassandra') >>> >>> - run thrift -gen java cassandra.thrift >>> >>> - write a corresponding function in service/CassandraServer.java, (eg.: >>> >>> public String test(String arg) throws TException >>> { >>> logger.debug("argument is "+arg); >>> return "Yay!"; >>> >>> } >>> ) >>> >>> - run ant on the whole project >>> >>> Now I should be able to write a client that uses this command. Am I >>> wrong? >> >> No. It should just work. >> >>> >>> I have tried all this, by copying the examples from ThriftExamples on >>> the >>> wiki, but 1) they seem to be working with older Cassandra versions ( I >>> am >>> using 0.7 beta1), 2) I seem to be doing something wrong as I get a >>> org.apache.thrift.transport.TTransportException when trying even >>> describe_cluster_name(). >> >> Sounds like a framed/unframed mismatch. Cassandra starts up in framed >> mode, and your client needs to match. When you set up your transport: >> TTransport transport = new TFramedTransport(socket); >> >> ThriftExamples on the wiki hasn't been updated to reflect this yet. :( >> >> Gary. >> >>> >>> Any help will be appreciated. Please ask for any clarifications. >>> >>> Alexander >>> >> >> > >