[Zope-dev] Cache growing during single REQUEST

Tres Seaver tseaver at zope.com
Fri Sep 12 13:53:07 EDT 2003


On Fri, 2003-09-12 at 07:34, Chris Withers wrote:
> Tim Peters wrote:
> > "Multiversion concurrency control" (MVCC for short) is the next step.  If no
> > other crises intervene, Jeremy and I will start implementing that on the
> > ZODB3 3.2 branch (most likely that branch -- can't swear to it) soon
> > (ditto).
> 
>  From Jeremy's recent notes, I think it'll be the Zope 2.6 branch...

Nope.  The 'ZODB3-3_1-branch' has retired;  all future "ZODB3 3.1.x"
work will take place on the 'Zope-2_6-branch'.  MVCC, however, is new
feature work, and will take place on the 3.2 branch (which may be the
Zope-2_7-branch :)

> 
> > You can google on the phrase to get a ton of more-or-less abstract overviews
> > of the concept.  The short course in ZODB is that, when MVCC is in effect, a
> > read will return the state of the object as of the time the current
> > transaction began, even if the object has subsequently been modified by some
> > other transaction.
> 
> Sounds great :-) If you need any implementations testing, do let me know!
> 
> > The overriding concern in all schemes is that you don't see inconsistent
> > data.
> 
> Yep.
> 
> > The current ReadConflictError prevents you from seeing inconsistent
> > data by preventing you from loading objects that have changed since your
> > current transaction began.  
> 
> Indeed, butthat could eb a lot of things, and often in situations where ti 
> wouldn't matter, as long as the data is consistent...
> 
> > MVCC prevents it by (possibly) delivering
> > non-current object states.  I don't think either can be viewed as a pure
> > win.  The ways in which ReadConflictError loses are obvious to people here
> > because they've experienced them.  The ways in which MVCC loses will become
> > obvious later <0.9 wink>.
> 
> Any ideas what they'll be yet?

Some applications will have no downside at all;  for instance, requests
that will do no writing the the database are pure wins for MVCC (e.g.,
long-running "report" requests).  Requests that write to the database on
the basis of stale-but-consistent data *may* still be OK, but that will
need to be a policy set by the application.

Tres.
-- 
===============================================================
Tres Seaver                                tseaver at zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com




More information about the Zope-Dev mailing list