[jboss-as7-dev] What does this warning mean? ARJUNA12140: Adding multiple last resources is disallowed. Current resource is com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord at 37f017

Scott Marlow smarlow at redhat.com
Fri Nov 18 06:18:01 EST 2011


Its probably a smaller percentage of applications that have large 
transactions but still a very valid use case (e.g. a scheduled batch 
operation that updates all accounts in a database).  Even a smaller 
transaction that is on a machine that is running excessively slow for a 
few minutes, that stretches a thirty second transaction into over sixty 
seconds and could hit the bug.

Thank you for reporting this, it will be good to have the conversion 
error fixed and maybe the idle-timeout handling too.

On 11/18/2011 06:03 AM, Nicklas Karlsson wrote:
> If the units would be in minutes I think the odds that this bug would
> surface in the wild would be quite slim unless the usecase would run very
> long transactions.
>
> On Fri, Nov 18, 2011 at 12:40 PM, Scott Marlow<smarlow at redhat.com>  wrote:
>
>> I think the other part of the bug, is that connections shouldn't
>> "idle-timeout" if they are enlisted into a transaction (which I believe
>> should mean they are eligible for sharing).
>>
>> In other words, I believe the following should work:
>>
>> 1.  set idle-timeout-minutes=1 (currently this is 1 millisecond but 1
>> minute should also work).
>>
>> 2.  JTA transaction begins.
>>
>> 3.  Hibernate gets a non-xa resource X1 (database connection), enlists it
>> into the transaction.
>>
>> 4.  Hibernate inserts a row into a database table using X1.
>>
>> 5.  Hibernate closes X1 which shouldn't make X1 eligible for idle-timeout
>> handling, since it is still enlisted in the transaction.
>>
>> 6.  Hibernate gets a non-xa resource, X1 should be returned.  Imagine that
>> two minutes has elapsed since the transaction started, X1 should not be
>> idle-timed out.
>>
>> 7.  Hibernate inserts another row into a database table using the resource
>> that should still be X1.  If the resource is not X1, the "ARJUNA12140:
>> Adding multiple last resources is disallowed" error will occur.
>>
>> 8.  The JTA transaction is committed successfully.
>>
>> Maybe the IJ "idle-timeout" test case could simulate the above with a test
>> case that doesn't run always but maybe is run selectively.  I think the
>> unit test will have to run for over a minute once the conversion error is
>> fixed (e.g. since idle-timeout-minutes will be treated as minutes instead
>> of milliseconds).
>>
>>
>> On 11/18/2011 02:18 AM, Nicklas Karlsson wrote:
>>
>>> As a test, could you set idle-timeout-minutes=900000 (that should be 15
>>>
>>>> minutes).
>>>>
>>>> If changing the idle-timeout-minutes setting helps, could you create a
>>>> jira for that.
>>>>
>>>>
>>>>   Indeed I can't see the issue after that
>>>
>>> https://issues.jboss.org/**browse/AS7-2698<https://issues.jboss.org/browse/AS7-2698>filed
>>>
>>> ---
>>> Nik
>>>
>>>
>>
>
>



More information about the jboss-as7-dev mailing list