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 >