[
https://jira.jboss.org/jira/browse/TEIIDDES-141?page=com.atlassian.jira.p...
]
Ramesh Reddy commented on TEIIDDES-141:
---------------------------------------
As part of this work, Teiid has been changed to use the delegation class loader by
default, so that it will always ask the plug-in class loader to resolve the classes before
it can look in it's own class path.
Another issue found here is, eclipse does not set it's plug-in class loader as the
Thread context class loader, and Teiid works only by using the Thread context class
loader, so designer's embedded integration code needed to be set the it's embedded
plug-in class loader as the Thread context class loader.
Till date the above exception is not re-produced, however if it occurs again, embedded
plug-in need to define the conflicting packages in the MANIFEST.MF file using
"import packages" feature. When this is option is used the plug-in will work as
delegating fashion instead of non-delegating for the specified packages. Since, embedded
runtime is delegating, the correct class will be loaded each and every time.
Class loading issues with XA transactions executing VDBs in Designer
--------------------------------------------------------------------
Key: TEIIDDES-141
URL:
https://jira.jboss.org/jira/browse/TEIIDDES-141
Project: Teiid Designer
Issue Type: Bug
Components: Teiid Integration
Affects Versions: 6.0.0
Environment: fedora 10, Teiid Designer 040709
Reporter: Paul Nittel
Assignee: Barry LaFond
Priority: Blocker
Fix For: 6.0.0
Ramesh said, "Looks like another class loading issue in the Designer. This class in
issue below is in "jta-1.1.jar", looks like designer also has copy of it."
in response to my email (below).
I ran through the E2E Updateable Web Service test script. When I executed the Insert
operation, I received an error dialog (photo attached). There were some exceptions as
well. Here they are:
Error 2009-04-08 08:21:43.869 Connector worker process failed for
atomic-request=00000000-0000-000c-0000-00000000000c.14.1.751
java.lang.LinkageError: loader constraint violation in interface itable initialization:
when resolving method
"com.metamatrix.jdbcx.base.BaseXAConnection.getXAResource()Ljavax/transaction/xa/XAResource;"
the class loader (instance of com/metamatrix/common/classloader/URLFilteringClassLoader)
of the current class, com/metamatrix/jdbcx/base/BaseXAConnection, and the class loader
(instance of <bootloader>) for interface javax/sql/XAConnection have different Class
objects for the type javax/transaction/xa/XAResource used in the signature
at com.metamatrix.jdbcx.base.BaseXADataSource.getXAConnection(Unknown Source)
at
org.teiid.connector.jdbc.JDBCConnector.getXAConnection(JDBCConnector.java:221)
at
org.teiid.dqp.internal.pooling.connector.ConnectionPool.createConnection(ConnectionPool.java:341)
at
org.teiid.dqp.internal.pooling.connector.ConnectionPool.obtain(ConnectionPool.java:269)
at
org.teiid.dqp.internal.pooling.connector.PooledConnector.getXAConnectionDirect(PooledConnector.java:145)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWrapper.getXAConnection(ConnectorWrapper.java:70)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.createConnection(ConnectorWorkItem.java:130)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.createExecution(ConnectorWorkItem.java:287)
at
org.teiid.dqp.internal.datamgr.impl.SynchConnectorWorkItem.createExecution(SynchConnectorWorkItem.java:100)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.process(ConnectorWorkItem.java:151)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:44)
at
org.teiid.dqp.internal.datamgr.impl.SynchConnectorWorkItem.run(SynchConnectorWorkItem.java:69)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Error 2009-04-08 08:21:43.879 ############# PW EXITING on
00000000-0000-000c-0000-00000000000c.14 - error occurred ###########
[MetaMatrixComponentException]loader constraint violation in interface itable
initialization: when resolving method
"com.metamatrix.jdbcx.base.BaseXAConnection.getXAResource()Ljavax/transaction/xa/XAResource;"
the class loader (instance of com/metamatrix/common/classloader/URLFilteringClassLoader)
of the current class, com/metamatrix/jdbcx/base/BaseXAConnection, and the class loader
(instance of <bootloader>) for interface javax/sql/XAConnection have different Class
objects for the type javax/transaction/xa/XAResource used in the signature
1 [LinkageError]loader constraint violation in interface itable initialization: when
resolving method
"com.metamatrix.jdbcx.base.BaseXAConnection.getXAResource()Ljavax/transaction/xa/XAResource;"
the class loader (instance of com/metamatrix/common/classloader/URLFilteringClassLoader)
of the current class, com/metamatrix/jdbcx/base/BaseXAConnection, and the class loader
(instance of <bootloader>) for interface javax/sql/XAConnection have different Class
objects for the type javax/transaction/xa/XAResource used in the signature
at
org.teiid.dqp.internal.process.DataTierTupleSource.switchBatch(DataTierTupleSource.java:128)
at
org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:89)
at
com.metamatrix.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:154)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:109)
at
com.metamatrix.query.processor.QueryProcessor.process(QueryProcessor.java:151)
at
com.metamatrix.query.processor.proc.ProcedurePlan.getResults(ProcedurePlan.java:297)
at
com.metamatrix.query.processor.proc.ProcedureEnvironment.executePlan(ProcedureEnvironment.java:130)
at
com.metamatrix.query.processor.proc.AbstractAssignmentInstruction.process(AbstractAssignmentInstruction.java:89)
at
com.metamatrix.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:282)
at
com.metamatrix.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:221)
at
com.metamatrix.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:106)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:173)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:109)
at
com.metamatrix.query.processor.QueryProcessor.process(QueryProcessor.java:151)
at
com.metamatrix.query.processor.proc.ProcedurePlan.getResults(ProcedurePlan.java:297)
at
com.metamatrix.query.processor.proc.ProcedureEnvironment.executePlan(ProcedureEnvironment.java:130)
at
com.metamatrix.query.processor.proc.AbstractAssignmentInstruction.process(AbstractAssignmentInstruction.java:89)
at
com.metamatrix.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:282)
at
com.metamatrix.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:221)
at
com.metamatrix.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:106)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:173)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:109)
at
com.metamatrix.query.processor.QueryProcessor.process(QueryProcessor.java:151)
at
org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:269)
at
org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:213)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:44)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.LinkageError: loader constraint violation in interface itable
initialization: when resolving method
"com.metamatrix.jdbcx.base.BaseXAConnection.getXAResource()Ljavax/transaction/xa/XAResource;"
the class loader (instance of com/metamatrix/common/classloader/URLFilteringClassLoader)
of the current class, com/metamatrix/jdbcx/base/BaseXAConnection, and the class loader
(instance of <bootloader>) for interface javax/sql/XAConnection have different Class
objects for the type javax/transaction/xa/XAResource used in the signature
at com.metamatrix.jdbcx.base.BaseXADataSource.getXAConnection(Unknown Source)
at
org.teiid.connector.jdbc.JDBCConnector.getXAConnection(JDBCConnector.java:221)
at
org.teiid.dqp.internal.pooling.connector.ConnectionPool.createConnection(ConnectionPool.java:341)
at
org.teiid.dqp.internal.pooling.connector.ConnectionPool.obtain(ConnectionPool.java:269)
at
org.teiid.dqp.internal.pooling.connector.PooledConnector.getXAConnectionDirect(PooledConnector.java:145)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWrapper.getXAConnection(ConnectorWrapper.java:70)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.createConnection(ConnectorWorkItem.java:130)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.createExecution(ConnectorWorkItem.java:287)
at
org.teiid.dqp.internal.datamgr.impl.SynchConnectorWorkItem.createExecution(SynchConnectorWorkItem.java:100)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.process(ConnectorWorkItem.java:151)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:44)
at
org.teiid.dqp.internal.datamgr.impl.SynchConnectorWorkItem.run(SynchConnectorWorkItem.java:69)
... 3 more
Error 2009-04-08 08:21:43.889 Error processing query
com.metamatrix.jdbc.MMSQLException: loader constraint violation in interface itable
initialization: when resolving method
"com.metamatrix.jdbcx.base.BaseXAConnection.getXAResource()Ljavax/transaction/xa/XAResource;"
the class loader (instance of com/metamatrix/common/classloader/URLFilteringClassLoader)
of the current class, com/metamatrix/jdbcx/base/BaseXAConnection, and the class loader
(instance of <bootloader>) for interface javax/sql/XAConnection have different Class
objects for the type javax/transaction/xa/XAResource used in the signature
at com.metamatrix.jdbc.MMSQLException.create(MMSQLException.java:82)
at com.metamatrix.jdbc.MMSQLException.create(MMSQLException.java:63)
at com.metamatrix.jdbc.MMStatement.executeSql(MMStatement.java:424)
at com.metamatrix.jdbc.MMStatement.execute(MMStatement.java:326)
at
net.sourceforge.sqlexplorer.sqlpanel.SqlExecProgress.processQuery(SqlExecProgress.java:192)
at
net.sourceforge.sqlexplorer.sqlpanel.SqlExecProgress.run(SqlExecProgress.java:121)
at
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: [MetaMatrixComponentException]loader constraint violation in interface itable
initialization: when resolving method
"com.metamatrix.jdbcx.base.BaseXAConnection.getXAResource()Ljavax/transaction/xa/XAResource;"
the class loader (instance of com/metamatrix/common/classloader/URLFilteringClassLoader)
of the current class, com/metamatrix/jdbcx/base/BaseXAConnection, and the class loader
(instance of <bootloader>) for interface javax/sql/XAConnection have different Class
objects for the type javax/transaction/xa/XAResource used in the signature
1 [LinkageError]loader constraint violation in interface itable initialization: when
resolving method
"com.metamatrix.jdbcx.base.BaseXAConnection.getXAResource()Ljavax/transaction/xa/XAResource;"
the class loader (instance of com/metamatrix/common/classloader/URLFilteringClassLoader)
of the current class, com/metamatrix/jdbcx/base/BaseXAConnection, and the class loader
(instance of <bootloader>) for interface javax/sql/XAConnection have different Class
objects for the type javax/transaction/xa/XAResource used in the signature
at
org.teiid.dqp.internal.process.DataTierTupleSource.switchBatch(DataTierTupleSource.java:128)
at
org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:89)
at
com.metamatrix.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:154)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:109)
at
com.metamatrix.query.processor.QueryProcessor.process(QueryProcessor.java:151)
at
com.metamatrix.query.processor.proc.ProcedurePlan.getResults(ProcedurePlan.java:297)
at
com.metamatrix.query.processor.proc.ProcedureEnvironment.executePlan(ProcedureEnvironment.java:130)
at
com.metamatrix.query.processor.proc.AbstractAssignmentInstruction.process(AbstractAssignmentInstruction.java:89)
at
com.metamatrix.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:282)
at
com.metamatrix.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:221)
at
com.metamatrix.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:106)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:173)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:109)
at
com.metamatrix.query.processor.QueryProcessor.process(QueryProcessor.java:151)
at
com.metamatrix.query.processor.proc.ProcedurePlan.getResults(ProcedurePlan.java:297)
at
com.metamatrix.query.processor.proc.ProcedureEnvironment.executePlan(ProcedureEnvironment.java:130)
at
com.metamatrix.query.processor.proc.AbstractAssignmentInstruction.process(AbstractAssignmentInstruction.java:89)
at
com.metamatrix.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:282)
at
com.metamatrix.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:221)
at
com.metamatrix.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:106)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:173)
at
com.metamatrix.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:243)
at
com.metamatrix.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:109)
at
com.metamatrix.query.processor.QueryProcessor.process(QueryProcessor.java:151)
at
org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:269)
at
org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:213)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:44)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.LinkageError: loader constraint violation in interface itable
initialization: when resolving method
"com.metamatrix.jdbcx.base.BaseXAConnection.getXAResource()Ljavax/transaction/xa/XAResource;"
the class loader (instance of com/metamatrix/common/classloader/URLFilteringClassLoader)
of the current class, com/metamatrix/jdbcx/base/BaseXAConnection, and the class loader
(instance of <bootloader>) for interface javax/sql/XAConnection have different Class
objects for the type javax/transaction/xa/XAResource used in the signature
at com.metamatrix.jdbcx.base.BaseXADataSource.getXAConnection(Unknown Source)
at
org.teiid.connector.jdbc.JDBCConnector.getXAConnection(JDBCConnector.java:221)
at
org.teiid.dqp.internal.pooling.connector.ConnectionPool.createConnection(ConnectionPool.java:341)
at
org.teiid.dqp.internal.pooling.connector.ConnectionPool.obtain(ConnectionPool.java:269)
at
org.teiid.dqp.internal.pooling.connector.PooledConnector.getXAConnectionDirect(PooledConnector.java:145)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWrapper.getXAConnection(ConnectorWrapper.java:70)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.createConnection(ConnectorWorkItem.java:130)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.createExecution(ConnectorWorkItem.java:287)
at
org.teiid.dqp.internal.datamgr.impl.SynchConnectorWorkItem.createExecution(SynchConnectorWorkItem.java:100)
at
org.teiid.dqp.internal.datamgr.impl.ConnectorWorkItem.process(ConnectorWorkItem.java:151)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:44)
at
org.teiid.dqp.internal.datamgr.impl.SynchConnectorWorkItem.run(SynchConnectorWorkItem.java:69)
... 3 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira