[teiid-issues] [JBoss JIRA] (TEIID-1919) Teiid exception when XA procedure uses two sources (defined in separate *-ds.xml files) that use different oracle accounts and point at the same oracle instance
Johnathon Lee (JIRA)
jira-events at lists.jboss.org
Thu Feb 2 11:18:48 EST 2012
[ https://issues.jboss.org/browse/TEIID-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12663790#comment-12663790 ]
Johnathon Lee commented on TEIID-1919:
--------------------------------------
I'm feeling very thick headed here (not meaning to be).
1) I've looked at TEIID-1921. If the purpose of looking is to see that I don't get anything working without the fix, then I understand and you can disregard the rest of this post while I back pedal to apply. If not...
2) My understanding is that by deploying the application in a different container, I force the inability of the container hosting the xatest.vdb to not be able to use the calling thread.
- On the JBoss install I've deployed xatest.vdb, which utilizes xatest1-ds.xml[1] and xatest2-ds.xml[2]
- On the JBoss2 install which hosts the xasimple.jsp, I've defined the following xatestvdb-ds.xml[3]. The xatest.vdb is not deployed in the JBoss2 instance nor are xatest1-ds.xml or xatest2-ds.xml defined there.
- When I run xasimple.jsp on JBoss2, I receive [4] on the .jsp and [5] snippet in the JBoss server.log
[1]
<datasources>
<xa-datasource>
<jndi-name>xatest1</jndi-name>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<xa-datasource-property name="URL">jdbc:oracle:thin:@<host>:<port>:ds08</xa-datasource-property>
<xa-datasource-property name="User">xxxx</xa-datasource-property>
<xa-datasource-property name="Password">xxxx</xa-datasource-property>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<no-tx-separate-pools></no-tx-separate-pools>
<track-connection-by-tx></track-connection-by-tx>
<isSameRM-override-value>false</isSameRM-override-value>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</xa-datasource>
</datasources>
[2]
<datasources>
<xa-datasource>
<jndi-name>xatest2</jndi-name>
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
<xa-datasource-property name="URL">jdbc:oracle:thin:@<host>:<port>:ds08</xa-datasource-property>
<xa-datasource-property name="User">differentxxxx</xa-datasource-property>
<xa-datasource-property name="Password">differentxxxx</xa-datasource-property>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<no-tx-separate-pools></no-tx-separate-pools>
<track-connection-by-tx></track-connection-by-tx>
<isSameRM-override-value>false</isSameRM-override-value>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</xa-datasource>
</datasources>
[3]
<datasources>
<xa-datasource>
<jndi-name>xatestvdb</jndi-name>
<xa-datasource-class>org.teiid.jdbc.TeiidDataSource</xa-datasource-class>
<xa-datasource-property name="DatabaseName">xatest</xa-datasource-property>
<xa-datasource-property name="serverName">localhost</xa-datasource-property>
<xa-datasource-property name="portNumber">31000</xa-datasource-property>
<xa-datasource-property name="user">xxxx</xa-datasource-property>
<xa-datasource-property name="password">xxxx</xa-datasource-property>
<xa-datasource-property name="AdditionalProperties">useCallingThread=false</xa-datasource-property>
<no-tx-separate-pools></no-tx-separate-pools>
<track-connection-by-tx></track-connection-by-tx>
<isSameRM-override-value>false</isSameRM-override-value>
<!-- pool and other JBoss datasource properties -->
<min-pool-size>5</min-pool-size>
<max-pool-size>10</max-pool-size>
<metadata>
<type-mapping>jdbc</type-mapping>
</metadata>
<!-- pool and other JBoss datasource properties -->
<check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
</xa-datasource>
</datasources>
[4]
org.teiid.jdbc.TeiidSQLException: xatest2: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < jca-subordinate, BasicAction: 7f000001:b1fa:4f29af8a:9b63 status: ActionStatus.ABORT_ONLY >); - nested throwable: (org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < jca-subordinate, BasicAction: 7f000001:b1fa:4f29af8a:9b63 status: ActionStatus.ABORT_ONLY >))
[5]
2012-02-02 10:13:38,578 INFO [STDOUT] (Worker9_QueryProcessorQueue28)
DRVR OPER OracleCallableStatement.sendBatch()
2012-02-02 10:13:38,707 WARN [org.jboss.resource.connectionmanager.TxConnectionManager] (Worker9_QueryProcessorQueue28) Connection error occured: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener at 115fe475[state=NORMAL mc=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection at 611fa505 handles=0 lastUse=1328199218181 permit=true trackByTx=true mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool at 27f6cda0 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool at 3c35d7df xaResource=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection at 611fa505 txSync=null]
oracle.jdbc.xa.OracleXAException
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1223)
at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:318)
at org.jboss.resource.adapter.jdbc.xa.XAManagedConnection.start(XAManagedConnection.java:213)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:799)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:510)
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.enlist(TxConnectionManager.java:985)
> Teiid exception when XA procedure uses two sources (defined in separate *-ds.xml files) that use different oracle accounts and point at the same oracle instance
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-1919
> URL: https://issues.jboss.org/browse/TEIID-1919
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 7.7
> Environment: Using Oracle XA Datasources
> Reporter: Johnathon Lee
> Assignee: Steven Hawkins
> Attachments: serverExample.log, xasimple.jsp, xatest.jsp
>
>
> Teiid exception when XA procedure uses two sources (defined in separate *-ds.xml files) that use different oracle accounts and point at the same oracle instance.
> See attached serverExample.log. Error manifests @ 8243.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the teiid-issues
mailing list