[ZODB-Dev] database conflict fail
Vincent Pelletier
plr.vincent at gmail.com
Thu Mar 22 18:45:17 UTC 2012
Le jeudi 22 mars 2012 18:23:47, Claudiu Saftoiu a écrit :
> Ahh, now that looks promising. Are there any particularly good places to
> get documentation on that sort of thing? All I see when I google are
> mailing list archives.
See ZODB/ConflictResolution.txt . Disclaimer: I didn't read it. I read the
code - but I expect the text file to be easier to assimilate :) .
BTrees/Length.py:Length class implements a simple _p_resolveConflict (yours
will be even simpler).
> Also: is there any easier way to see which objects had a conflict when a
> ConflictError is raised? Currently I am doing a binary-search via
> commenting code, but I figure there must be a better way...
There should be some details in the exceptoin itself. Like, oids, currently
commited TID and the TID transaction started with. root()._p_jar[the_oid] will
get you the object. Then the hard part starts: guess where in the object tree
that object is. If you have varied classes, and significant data on your
persistent instances, it will be easy.
Ragards,
--
Vincent Pelletier
More information about the ZODB-Dev
mailing list