cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Dusbabek <gdusba...@gmail.com>
Subject Re: avro + cassandra + ruby
Date Wed, 29 Sep 2010 10:55:58 GMT
We have a system test that tests this (in avro python).  see
test/system/test_avro_standard.py:TestStandardOperations.test_multiget_slice_simple.

On Wed, Sep 29, 2010 at 01:06, Gabor Torok <Gabor.Torok@sunpowercorp.com> wrote:
> Hi,
> I'm attempting to use avro to talk to cassandra because the ruby thrift client's read
performance is pretty bad (I measured 4x slower than java).
>
> However, I run into a problem when calling multiget_slice.
> The server gives a KeyspaceNotDefinedException because clientState.getKeyspace() returns
null.
> It seems this is because ClientState stores the keyspace in a ThreadLocal.
>
> I call set_keyspace and clientState stores the keyspace value. I guess the next avro
call to multiget_slice runs in a different thread so it can't retrieve the value.
>
> In ruby, I use Avro::IPC::HTTPTransceiver as the transport which I believe is a stateless
transport. I also tried SocketTransport, but that died with a malloc exception.
>
> Is this a problem with the ruby avro library (I use avro 1.4.0), or how the server handles
avro threads?
> Any help would be appreciated!
>
> Thanks,
> --Gabor
>

Mime
View raw message