Re: Re: asyncio-based ZEO implementation implemented

Jim Fulton <[email protected]>
Newsgroups gmane.comp.web.zope.zodb
Message-ID <CAPDm-FjvV5CHTZsDSgD_1=iVOt0qcJMs7gPdn7FVUWS_u9LUeA@mail.gmail.com>
On Sun, Jun 19, 2016 at 10:29 PM, Christopher Lozinski
<[email protected]> wrote:

...

> I am very interested in documenting this stuff.  My desire to do this has
> been steadily increasing.  I have found I really enjoy documenting open
> source software, it is a great way to learn it, the authors are always very
> supportive.   And it is hugely needed.

This change is mostly internal. Some user visible features have been
dropped (cache verification, ZEO authentication protocol, monitor
server), but the change will pave the way for features to be added
(SSL and SSL based or enabled authentication, client-side conflict
resolution, ...)


>  Not just what is async ZODB, but how
> do we use it to build Async Apps?

There's a common misconception that this change somehow makes ZEO more
asynchronous than it was before or somehow enabled asynchronous apps.
Nothing could be further from the truth.

> Okay, so how do we do this?  Do I just sit and look at the code?  Do we do
> it as a code review?

So first of all, the main things in this change:

- Change from one asynchronous networking framework (asyncore) to
another (asyncio).

- Make connection logic much simpler.

- Simplify client threading model, eliminating many locks

- Reduce extra levels of indirection that made the code harder to reason about.

I would recommend starting with ZEO.asyncio, noting that the cache is
now managed by the networking thread and doesn't require locks, then
look at the changes to ClientStorage, StorageServer, and ZEO.runzeo
and ZEO.tests.forker.

Ask questions in the PR or on IRC.

If you're feeling especially thorough, you could review the test changes.

...

> Is there a tool you recommend for comments.  Should I make a milion issues
> on github?

You can ask questions and add comments in the PR, either at the line
level or at the PR level.

> How much time should this take?

That depends on how knowledgeable you are to begin with and how
thorough your review.

Jim

-- 
Jim Fulton
http://jimfulton.info

-- 
You received this message because you are subscribed to the Google Groups "zodb" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.