[
https://issues.jboss.org/browse/TEIID-1919?page=com.atlassian.jira.plugin...
]
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@115fe475[state=NORMAL
mc=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@611fa505 handles=0
lastUse=1328199218181 permit=true trackByTx=true
mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@27f6cda0
context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@3c35d7df
xaResource=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@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