[Zope-dev] Re: zpatterns-0.4.0a5: problem withunregistering transactionals

Phillip J. Eby pje@telecommunity.com
Thu, 27 Jul 2000 10:44:06 -0500


At 07:12 PM 7/27/00 +0400, Jephte CLAIN wrote:
>"Phillip J. Eby" a écrit :
>> 
>> Question...  Are you on 2.1.x or 2.2?
>I'm still on 2.1.6. I cannot afford a migration of my product now since
>it is still in developpement and my customer wants it to work as soon as
>possible.

Okay, that makes sense.  2.1.6 has a weirdness in the ZPublisher exception
hook that begins a new transaction instead of aborting the old one cleanly,
and that ultimately causes the objects to get aborted twice.  I reported
this a month or two ago and it got fixed in 2.2.  You're going to have to
go with your patch, though, because there's not a simple patch you can
apply to 2.1.6 to fix the problem in Zope itself.  Unfortunately, it is
hard for me to tell whether your patch has any other repercussions.  :(  I
will try to review the structure of my Transactional class and see if there
are any side effects (besides the one you've found) of an object being
aborted twice.


>> Also, in your example, tpc_entered
>> is not set because tpc_entered is only true if the transaction commit
>> process (tpc = two-phase commit) has been started.
>I thought that tpc_entered would go back to 0 when the transaction is
>over. It is clear that I don't know how the transaction machinery really
>works.

It's probably because of the double-abort weirdness.  :(