Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-9431

Unable to set no-tx-separate-pools for Oracle XA datasource

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 6.1.0
    • 6.0.0.Final
    • Deployers
    • None

      Code is using Oracle XA DB connections with and without transactions.

      Seeing exceptions like the following:

      2011-07-26 20:04:04,622 WARN [com.arjuna.ats.jta] (Thread-24 (group:HornetQ-client-global-threads-1898046)) ARJUNA-16061 TransactionImple.enlistResource - XAResource.start returned: XAException.XAER_PROTO for < formatId=131076, gtrid_length=29, bqual_length=28, tx_uid=0:ffff0a158387:126a:4e2f5438:6b5, node_name=1, branch_uid=0:ffff0a158387:126a:4e2f5438:6ba, eis_name=unknown eis name >: oracle.jdbc.xa.OracleXAException
      at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1120)
      at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:249)
      at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:213)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:629)
      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:390)
      at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.enlist(TxConnectionManager.java:975)
      at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:729)
      at org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:459)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:625)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:499)
      at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
      at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)

      I looked up org.jboss.resource.connectionmanager.JBossManagedConnectionPool in the JMX Console and found NoTxSeparatePools = false. So I tried other combinations like <no-tx-separate-pools>true</no-tx-separate-pools> and I cannot get NoTxSeparatePools = true.

      I was able to change NoTxSeparatePools = true and apply the change in the JMX Console and then stop and start the MBean. I then could run the code without any of the errors.

      I was able to see in the debugger that no-tx-separate-pools = true never makes it to the JBossManagedConnectionPool MBean from the oracle-xa-ds.xml datasource configuration.

      I could see the correct value in org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentMetaData, but the setting never appears to make it to org.jboss.resource.connectionmanager.JBossManagedConnectionPool for the datasource.

              ajustin@redhat.com Ales Justin
              beaster_jira Jeff Reester (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: