[ZCM] [ZC] 701/ 3 Comment "Transaction Manager Brokenness"
Collector: Zope Bugs, Features, and Patches ...
zope-coders@zope.org
Mon, 02 Dec 2002 17:25:37 -0500
Issue #701 Update (Comment) "Transaction Manager Brokenness"
Status Accepted, Zope/bug critical
To followup, visit:
http://collector.zope.org/Zope/701
==============================================================
= Comment - Entry #3 by jeremy on Dec 2, 2002 5:25 pm
The tpc_begin(), abort(), tpc_abort() sequence looks normal to me. The transaction got started, something went wrong in the middle (like a ConflictError), so the current transaction was aborted. An abort during 2PC requires that we call abort() for each object and then call tpc_abort().
Is there some specific problem or unusual behavior you are seeing? Or are you just nervous about log messages you haven't seen before?
________________________________________
= Assign - Entry #2 by jeremy on Dec 2, 2002 5:19 pm
Status: Pending => Accepted
Supporters added: jeremy
It might help to know more about what the resource manager (aka jar) is actually doing. For example, abort() is called with two arguments -- an object and a transaction. What objects are getting passed to abort? Is it the same object twice or is it two different objects?
________________________________________
= Request - Entry #1 by htrd on Nov 27, 2002 1:52 pm
>From the "Transaction Manager Changes" thread on zodb-dev.
>TD> I am seeing some unusual behaviour in some classes which hook
>TD> into the transaction manager since Jeremy's sortKey changes. I
>TD> have not been able to reproduce a minimal test case yet, so this
>TD> has been diagnosed from activity logs on a production system.
>
>TD> The following two call sequences are ringing my alarm bells:
>
>TD> 1. abort, abort (that is, abort called twice on
>TD> the same _p_jar object with no intermediate calls)
>
>TD> 2. tpc_begin, abort, tpc_abort
>
>TD> Does this indicate a bug somewhere in the transaction manager,
>TD> or should my objects be expecting this?
>
>TD> (if it helps, there may be subtransactions involved too)
>
==============================================================