Re: non blocking Cassandra with Tornado

2010-08-10 Thread Ryan Daum
> > >> Barring this we (place where I work, Chango) will probably eventually fork >> Cassandra to have a RESTful interface and use the Jetty async HTTP client to >> connect to it. It's just ridiculous for us to have threads and associated >> resources tied up on I/O-blocked operations. >> > > We've

Re: non blocking Cassandra with Tornado

2010-08-06 Thread Jonathan Ellis
See comments to https://issues.apache.org/jira/browse/CASSANDRA-1256 On Fri, Jul 30, 2010 at 12:57 AM, Ryan Daum wrote: > An asynchronous thrift client in Java would be something that we could > really use; I'm trying to get a sense of whether this async client is usable > with Cassandra at this

Re: non blocking Cassandra with Tornado

2010-08-06 Thread Erik Onnen
On Thu, Jul 29, 2010 at 9:57 PM, Ryan Daum wrote: > > Barring this we (place where I work, Chango) will probably eventually fork > Cassandra to have a RESTful interface and use the Jetty async HTTP client to > connect to it. It's just ridiculous for us to have threads and associated > resources t

Re: non blocking Cassandra with Tornado

2010-08-05 Thread aaron morton
Have you had a chance to try this technique out in Java ? I've not been able to get back to my original experiments for the last week. If it works you should be able to put together a non blocking client that still used thrift. Aaron On 30 Jul 2010, at 16:57, Ryan Daum wrote: > An asynchrono

Re: non blocking Cassandra with Tornado

2010-07-29 Thread Ryan Daum
An asynchronous thrift client in Java would be something that we could really use; I'm trying to get a sense of whether this async client is usable with Cassandra at this point -- given that Cassandra typically bundles a specific older Thrift version, would the technique described here work at all

Re: non blocking Cassandra with Tornado

2010-07-27 Thread Aaron Morton
Thanks for the link. It is more of a thrift thing, perhaps I need to do some tests where the web handler sends the get_slice to cassandra but never calls recv to see what could happen. I'll take a look at the Java binding and see what it would take to offer a patch to Thrift. Most people coding P

Re: non blocking Cassandra with Tornado

2010-07-27 Thread Aaron Morton
Without looking at the generated thrift code, this sounds dangerous. What happens if send_get_slice() blocks? What happens if recv_get_slice() has to block because you didn't happen to receive the response in one packet? get_slice() has two lines it it, a call to send_get_slice() and one to recv_

Re: non blocking Cassandra with Tornado

2010-07-27 Thread Dave Viner
FWIW - I think this is actually more of a question about Thrift than about Cassandra. If I understand you correctly, you're looking for a async client. Cassandra "lives" on the other side of the thrift service. So, you need a client that can speak Thrift asynchronously. You might check out the

Re: non blocking Cassandra with Tornado

2010-07-27 Thread Peter Schuller
> The idea is rather than calling a cassandra client function like > get_slice(), call the send_get_slice() then have a non blocking wait on the > socket thrift is using, then call recv_get_slice(). (disclaimer: I've never used tornado) Without looking at the generated thrift code, this sounds da

Re: non blocking Cassandra with Tornado

2010-07-27 Thread Sandeep Kalidindi at PaGaLGuY.com
@aaron - thanks a lot. i will test it. This is very much needed. Cheers, Deepu. On Tue, Jul 27, 2010 at 6:03 PM, aaron morton wrote: > Today I worked out how to make non blocking calls to Cassandra inside of > the non blocking Tornado web server (http://www.tornadoweb.org/) using > Python. I t

non blocking Cassandra with Tornado

2010-07-27 Thread aaron morton
Today I worked out how to make non blocking calls to Cassandra inside of the non blocking Tornado web server (http://www.tornadoweb.org/) using Python. I thought I'd share it here and see if anyone thinks I'm abusing Thrift too much and inviting trouble. It's a bit mucky and I have not tested i