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

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 6.0.0.Final
    • Fix Version/s: 6.1.0
    • Component/s: Deployers
    • Labels:
      None
    • Environment:

      Windows 7 64-bit, Windows Oracle 11g 32-bit, Linux 64-bit, Linux Oracle 11g 64-bit

      Description

      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.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                alesj AleŇ° Justin
                Reporter:
                beaster Jeff Reester
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: