On Tue, Sep 28, 2010 at 4:06 PM, Gabor Torok
<gabor.to...@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.

Was this exception on the server or in the client? The ruby avro code
is pretty new, so the probability of bugs is pretty high.

-ryan

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

Reply via email to