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

Reply via email to