[ZODB-Dev] Webkit Threading and ZODB 3.3a2: problems on Windows
Kapil Thangavelu
hazmat at objectrealms.net
Fri Feb 20 11:36:02 EST 2004
On Thu, 2004-02-19 at 18:34, Matt Feifarek wrote:
> Tim Peters wrote:
>
> >Shane explained. If you, e.g., mutate a persistent object P, bound to
> >something.someattr, then merely rebinding something.someattr to None doesn't
> >change that the transaction still has a change to P pending -- you need to
> >commit that change, or abort it, and from the thread that made that
> >mutation.
> >
> >
> It may turn out that some errant code is touching objects in a way that
> we hadn't planned on (ie, this is just a bug in our code).
>
> I'm looking into that now with a debugger.
>
> As a recent inductee to the ZODB world, I'd say we should get it into
> the docs that one must commit() or abort(), or Bad Things(r) will happen.
>
or begin() which is the 'unmoral' equiv of abort.
> We got the impression that changes (if any) are discarded if you don't
> .commit(). It seems that it would be more correct to say that you must
> either commit or abort, or your data (and app) will become unstable.
>
its just standard transaction semantics, the fact that your working with
a transactional system and don't have well defined transaction
boundaries, seems to be the real problem.
ie. if you were working w/ postgresql or mysql (innodb) the same issues
would apply.
-kapil
More information about the ZODB-Dev
mailing list