[Mulgara-general] New JTA support now considered beta - please test and report success/failure to the list.

Andrae Muys andrae at netymon.com
Mon Feb 11 12:38:52 UTC 2008


On 11/02/2008, at 10:24 PM, Life is hard, and then you die wrote:

> On Mon, Feb 11, 2008 at 09:56:56PM +1000, Andrae Muys wrote:
>>
>> On 07/02/2008, at 4:08 PM, Andrae Muys wrote:
>>> On 07/02/2008, at 2:15 PM, Life is hard, and then you die wrote:
>>>> Using the mgr-73 branch, I'm getting a failed assertion doing
>>>> essentially
>>>>
>>>>   s1.setAutoCommit(false)
>>>>   insert/query
>>>>   s1.commit()
>>>>   s1.close()
>>>>
>>>>   s2.setAutoCommit(false)
>>>>
>>>> Shouldn't the session.close() reset things? (Note this not using
>>>> XAResource yet).
>>>
>>> Ok, looking at the transaction code with fresh eyes it is clear that
>>> I wasn't thinking clearly when I was managing the writeTransaction
>>> field.  This field was critically important in the pre-JTA code, as
>>> it was involved in tracking the holder of the write-lock.  Now it  
>>> has
>>> been demoted to a reference to the holder to ensure the cleanup
>>> routines work correctly.
>>
>> Found and fixed - an attempt to be extra paranoid about resetting the
>> transaction state on session-close backfired when resetting the
>> manager's state prevented the factory from resetting properly.
>> Details in commit log - fixed in revision 639.
>
> Works for me. Thanks!

Just stopped working for me - identified as a lock-ordering deadlock  
introduced in this fix.  There's now a race-condition between  
starting/stopping a transaction and closing the session.

Andrae

-- 
Andrae Muys
andrae at netymon.com
Senior RDF/SemanticWeb Consultant
Netymon Pty Ltd





More information about the Mulgara-general mailing list