Hi all, I'm digging into Riak, and its Python client. I've discovered several issues and would like to provide feedback and get some input, please.
1. I'd like Riak to generate keys for some of my objects, and I'm using the HTTP API. Pretty simple: do a POST, and the Location: header will tell me the key. However, looking at the code... it doesn't appear that object.store() actually reads and returns that key. Am I missing something here? Maybe there is a Proper Way to do this? 2. The HTTP transport code doesn't use httplib properly at all. When I wrote the httplib library, my primary design point was to enable persistent, HTTP/1.1 connections. That was the whole idea behind HTTPConnection. The transport library opens a *new* connection for every request. I'm not surprised that the performance suffers, since a TCP setup handshake needs to occur on every request. ... So: are there any plans to rebuild the HTTP support to use persistent connections? 3. The Luwak support reads the *entire* "file" into memory. My understanding is that Luwak is for "large" files. If those files are (say) a gigabyte, then the current code is going to impact clients in a *very* bad way. I can see that the code wants to read the response, then return the connection back to the pool... but that just isn't workable. A connection needs to be held by the reader, which then streams it to completion (or close), and only then should the connection be returned. Now, if Luwak is defined for files less than (say) 10 megabytes, then maybe this approach isn't wrong, but I haven't seen any documentation about size limitations. Any thoughts on this? Thanks! -g _______________________________________________ riak-users mailing list [email protected] http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
