Transaction Manager Brokenness
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
transaction |
Invalid
|
Low
|
Jeremy Hylton |
Bug Description
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)
>
Changed in zope2: | |
status: | Confirmed → Invalid |
affects: | zope2 → transaction |
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?