>
> So, on to my grandiose plans for the future of the Python Riak client.
> We're currently using a combination of this client and Riakasaurus,
> which is a Twisted-based client library that we maintain. Riakasaurus
> is based (indirectly) on a previous version of the Python client, but
> is different enough that it's impossible to pull in upstream changes
> directly. The main reason for the divergence is that the Python client
> assumes blocking network I/O operations that will return when they
> have the required data, while Twisted uses an asynchronous
> callback-based I/O mechanism.
>
>
So, ideally this would just be an alternate transport. However, I suspect
it might require adding optional kwargs to every call, where you might be
able to pass a callback (sorry, I'm not that familiar with Twisted, but
it's that way in Ruby's Eventmachine). If this is the case, I'd be
concerned about adding the additional complexity.


> I think it would be possible to restructure the Python client somewhat
> to decouple the higher-level operations from the lower-level network
> operations in a way that would let us switch between Twisted-style
> async I/O and more traditional blocking I/O. This would probably be a
> fairly invasive change in some ways, but shouldn't have any noticeable
> impact on the external API. I'm hoping it'll make the
> ConnectionManager replacement cleaner and more flexible, but I don't
> have a good enough mental model of the system to be sure.
>
> As the person proposing this, I'm happy to put some effort into
> hacking up a prototype to see if this is actually a workable idea and
> to do the bulk of the implementation work if it is -- it'll save on a
> bunch of Riakasaurus maintenance in the future if we can pull it off.
> I'm proposing some pretty drastic surgery to the existing codebase, so
> I'd like to know if other people (especially Sean) think it's a good
> idea before I sink too much time into it.
>
>
Please do send me or the mailing-list an outline of this, I'm interested in
hearing how it would work.

-- 
Sean Cribbs <s...@basho.com>
Software Engineer
Basho Technologies, Inc.
http://basho.com/
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to