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
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.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org