Re: [dev] RFC IMVCCStorage everywhere (Move ZODB's MVCC to storage layer)

Vincent Pelletier <[email protected]>
Newsgroups gmane.comp.web.zope.zodb
Organization Nexedi
Message-ID <20160617071742.3f502a1a@vincent-tkpad>
On Thu, 16 Jun 2016 22:09:33 +0200,
Julien Muchembled <[email protected]> wrote :
> I thought I could leave this subject aside for ZODB5, but instead of wasting time inside NEO, I should rather work on pushing this ZODB before anything else.

I don't think you are ever wasting your time on NEO :) .
But I agree that pushing that patch in ZODB (current or 5 depending on
Jim's decision) is important.

<OT>
Psst: and please take some time reviewing my load-lock-removal patch
stack for NEO, at least the few earliest commits are short and not
directly related to this feature.

I'll try to come back to NEO development on free time when I'm done
working 10 hours a day.
<rant>
Why oh why ZMI developers did not put an "history" tab on all
persistent object types ? ZODB features are wonderful, especially
historical revisions access. Wrap & expose them all !
Why, oh why, BTreeFolder2 developers did not expose all the BTree API ?
BTree API is wonderful, especially the ranged lookups (min/max). Wrap &
expose it all !
</rant>
</OT>

> So, in NEO, we don't want to serialize of the second phase of 2PC

...for transactions which modify non-overlapping sets of objects of
course. These are serialised by locks on individual objects deep inside
NEO, and the removal of vote-to-finish lock becomes possible without
loosing conflict detection (and optionally resolution).

> which means:
> - the real tid is only known during tpc_finish
> - before tpc_finish, NEO works with a temporary tid
> - NEOStorage.tpc_vote only returns oids for which a conflict happened
> - NEOSTorage.tpc_finish returns the committed tid
> - and what tpc_vote usually does for other ZODB implementation has to be done at the end of Connection.tpc_finish

Also, this change is backward-compatible: if tpc_vote returns a TID, it
is still used.
-- 
Vincent Pelletier
ERP5 - open source ERP/CRM for flexible enterprises

-- 
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.
smime.p7s (application/pkcs7-signature, 3.2 KB) - not displayed
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.