[Zope] Trying to trap ConflictError
Michael Dunstan
michael.dunstan at gmail.com
Thu Jul 6 14:34:27 EDT 2006
On 7/7/06, Jonathan <dev101 at magma.ca> wrote:
> I haven't been able to determine how the oid's are generated, other than
> "little-endian 64-bit unsigned integers that will be assigned more or less
> sequentially", but I can't figure out how the same oid is being used twice
> (on the other hand I could be totally off-base as I am really way over my
> head here!).
An oid is an identifier for a persistent state of an object. As the
state of an object evolves from transaction to transaction it gets a
new oid for each state. Two concurrent transactions that involve the
same object will start with the same state, i.e. the same oid, for
that object.
Some detail about how BTrees behave can be found in
http://www.zope.org/Wikis/ZODB/BTreeConflictResolution
Also might be illustrative to run fsdump to see what is happening in
your transactions. See
http://www.zope.org/Wikis/ZODB/FileStorageBackup. You'll need
FileStorage for that. And that only shows you details of successful
transactions.
cheers
michael
More information about the Zope
mailing list