[ZODB-Dev] Notes on using wrapper storages for record transformation

Vincent Pelletier vincent at nexedi.com
Fri May 21 18:40:24 EDT 2010


Le vendredi 21 mai 2010 15:52:05, Jim Fulton a écrit :
> packing and conflict resolution on the server

BTW, I'm not sure why it happens this way. Is it to save the cost of 
transferring 1 or 2 revisions of the object over network when resolving ?

In NEO we chose to do that resolution on client side, but it should cause 
fewer latency problem (if it's the reason behind this choice) as we hold 
object-level locks, rather than storage-level locks: we don't delay unrelated 
transactions.
And for packing, the "second phase" (tree walk to prune unreachable objects) 
is indeed a problem. In my work on pack (not integrated yet because of a shift 
in priorities) I implemented it on client side too, but this is motivated by 
the fact that storage nodes don't have a complete view of the database because 
of data partitioning for load balancing. This phase will probably be disabled 
by default before integration.

-- 
Vincent Pelletier


More information about the ZODB-Dev mailing list