[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
Thu Nov 17 20:43:44 EST 2011


On 11/16/2011 08:55 AM, Nicklas Karlsson wrote:
> It's a strange one. Got it today on upstream master after creating one
> datasource with
>
> /subsystem=datasources/data-source="OSTiDataSource":add(jndi-name="java:jboss/datasources/OSTiDataSource",
> pool-name="OSTiPool", driver-name="oracle",
> connection-url="jdbc:oracle:thin:@host:port:sid", user-name="xxx",
> password="xxx", flush-strategy="EntirePool", new-connection-sql="ALTER
> SESSION SET NLS_NUMERIC_CHARACTERS='.,'",
> stale-connection-checker-class-name="org.jboss.jca.adapters.jdbc.vendor.OracleStaleConnectionChecker",
> valid-connection-checker-class-name="org.jboss.jca.adapters.jdbc.vendor.OracleValidConnectionChecker",
> exception-sorter-class-name="org.jboss.jca.adapters.jdbc.vendor.OracleExceptionSorter",
> idle-timeout-minutes=15)
> /subsystem=datasources/data-source="OSTiDataSource":enable

I think the bug is in 
org.jboss.jca.core.api.connectionmanager.pool.PoolConfiguration and its 
handling of idle connection timeout.

One part of the bug is that idle connection timeout appears to currently 
be in milliseconds (not minutes like it should be). 
org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.removeIdleConnections() 
is treating the timeout, like its in milliseconds, so its just a bug in 
the PoolConfiguration class.  Another problem or question, is why does a 
15 millisecond timeout cause multiple connections to be enlisted in the 
active TX, that is not good.

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.

Thanks,
Scott

>
> and clicking around my app a bit (persisting etc)
>
> I re-created the DS with
>
> /subsystem=datasources/data-source="OSTiDataSource":add(jndi-name="java:jboss/datasources/OSTiDataSource",
> pool-name="OSTiPool", driver-name="oracle",
> connection-url="jdbc:oracle:thin:@ host:port:sid", user-name="xxx",
> password="xxx", flush-strategy="EntirePool", new-connection-sql="ALTER
> SESSION SET NLS_NUMERIC_CHARACTERS='.,'")
> /subsystem=datasources/data-source="OSTiDataSource":enable
>
> and I didn't get the application.
>
> but then I re-created the DS in the first manner and I *didn't* get any
> exceptions.
>
>
>
> On Wed, Nov 16, 2011 at 3:49 PM, Scott Marlow<smarlow at redhat.com>  wrote:
>
>> What this warning mean "ARJUNA12140: Adding multiple last resources is
>> disallowed. Current resource is
>> com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord at 37f017"
>>
>> The exception that follows is "javax.transaction.SystemException:
>> IJ000356: Failed to enlist: java.lang.Throwable: Unabled to enlist
>> resource, see the previous warnings. tx=TransactionImple<  ac,
>> BasicAction: 0:ffffc082df3f:1b3f9691:4ec10467:3602 status:
>> ActionStatus.ABORT_ONLY>"
>>
>> http://pastebin.com/GkRTN4jc contains the full exception call stack.
>>
>> Does this mean that more than one non-XA datasources were enlisted into
>> the transaction?  Or something else?
>>
>> Scott
>> _______________________________________________
>> jboss-as7-dev mailing list
>> jboss-as7-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>
>
>
>



More information about the jboss-as7-dev mailing list