Re: Oracle XA RAR for G1.0?
On Thu, 9 Feb 2006, Jason Dillon wrote: Thanks! My DBA cleared this for me and now XA is working with 1 Oracle DS and 1 ActiveMQ CF. I still can not get the 2 Oracle datasources working together with XA though. Glad it worked out. Did anyone have a chance to peek at that URL I mailed describing a similar problem? The one that suggested that some Oracle XA flag needs to be set for loosly coupled branches? I haven't looked at it.
Re: Oracle XA RAR for G1.0?
Thanks! My DBA cleared this for me and now XA is working with 1 Oracle DS and 1 ActiveMQ CF. I still can not get the 2 Oracle datasources working together with XA though. Did anyone have a chance to peek at that URL I mailed describing a similar problem? The one that suggested that some Oracle XA flag needs to be set for loosly coupled branches? --jason -Original Message- From: lichtner [EMAIL PROTECTED] Date: Tue, 7 Feb 2006 22:24:38 To:dev@geronimo.apache.org Subject: Re: Oracle XA RAR for G1.0? Since you crashed so many times and then had to delete the log, which knows how to clean up the in-doubt transactions, you now have some transactions which are waiting to be committed or rolled back and are holding locks (as they should.) If you have a dba I would get him/her involved. To do it manually you have to do a select on DBA_2PC_PENDING http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_3002.htm#sthref1821 and then do ROLLBACK FORCE or COMMIT FORCE as shown here: http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_txnman.htm#i1007905 If you do not privileges for the select, you can try to log in as sys with the default Oracle password: sqlplus sys/CHANGE_ON_INSTALL Sometimes they don't bother to change it. If you grant the JDBC user the ability to select on DBA_2PC_PENDING (or other appropriate view) then Geronimo (once the NPE is fixed) can settle these automatically for you. Guglielmo On Tue, 7 Feb 2006, Jason Dillon wrote: It finally dawned on my that my connection to ActiveMQ using: vm://localhost?asyncSend=true Was a bad idea. So I tired using these: * vm://localhost * tcp://localhost:61616 Both of which don't hang... but now were back to more Oracle exceptions: snip 18:24:47,683 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,683 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,684 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,684 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,686 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,686 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,686 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,686 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,687 ERROR [JDBCExceptionReporter] Could not execute JDBC batch update java.sql.BatchUpdateException: ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:498) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:12368) at org.tranql.connector.jdbc.StatementHandle.executeBatch(StatementHandle.java:157) at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54) at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:126) at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2421) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2371) at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240) at org.springframework.orm.hibernate.HibernateTemplate$22.doInHibernate(HibernateTemplate.java:595) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.flush(HibernateTemplate.java:593) at com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.save(BaseDAOHibernate.java:176) at com.solidusnetworks.ach.oltp.dao.impl.ECheckDAOHibernate.saveECheck(ECheckDAOHibernate.java:208) at com.solidusnetworks.paycore.ach.model.check.service.CheckUpdateServiceBean.addECheck(CheckUpdateServiceBean.java:117) at com.solidusnetworks.paycore.ach.model.check.service.CheckUpdateServiceBean$$FastClassByCGLIB$$70674c74.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80
Re: Oracle XA RAR for G1.0?
Using the ojdbc14-9.2.0.5.jar driver, connecting to a Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production instance. I have a feeling that something else is wrong, as I mentioned before I see hanging transactions when using the local adapter in local-tx mode. And when I ctrl-c G it corrupts the txlog each time... which is very bad IMO. I'm gonna turn up debug for everything, and get a threaddump... Weird thing is that I was able to get all local adapter in local-tx mode working yesterday... not sure how, but it did work, with no hanging remote calls... but then I tried the exact same configuration on my laptop at home, and it did nothing but hang. I'm starting to think this is a god must hate jason problem more than anything else :-( --jason On 2/6/06, lichtner [EMAIL PROTECTED] wrote: -3 should be javax.transaction.xa.XAException.XA_RMERR: http://java.sun.com/j2ee/1.4/docs/api/constant-values.html#javax.transaction Anyhow, you are not actually enlisting the oracle resource manager, so that's a step in the right direction. I think that Geronimo is not printing the stack trace. If you can, maybe add a printStackTrace() and recompile. What version of Oracle server and driver are you using? On Mon, 6 Feb 2006, Jason Dillon wrote: And the plot thickens... this warning is issued before the exceptions are dumped: snip 21:21:23,050 WARN [Transaction] Unable to enlist XAResource [EMAIL PROTECTED], e rrorCode: -3 oracle.jdbc.xa.OracleXAException at oracle.jdbc.xa.OracleXAResource.checkError (OracleXAResource.java:1190) at oracle.jdbc.xa.client.OracleXAResource.start (OracleXAResource.java:311) at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.start (WrapperNamedXAResource.java:86) at org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource (TransactionImpl.java:166) at org.apache.geronimo.transaction.context.InheritableTransactionContext.en listResource(InheritableTransactionContext.java:92) at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.g etConnection(TransactionEnlistingInterceptor.java:53) at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.get Connection(TransactionCachingInterceptor.java:81) at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getCo nnection(ConnectionHandleInterceptor.java:43) at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection (TCCLInterceptor.java:39) at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.get Connection(ConnectionTrackingInterceptor.java:66) at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocat eConnection(AbstractConnectionManager.java:57) at org.tranql.connector.jdbc.DataSource.getConnection (DataSource.java:56) at $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke (generated) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept (ConnectorMethodInterceptor.java:53) at $javax.sql.DataSource$$EnhancerByCGLIB$ $4e89d0c0.getConnection(generated) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection( AopUtils.java:282) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:163) at $Proxy1.getConnection(Unknown Source) at org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getC onnection(LocalDataSourceConnectionProvider.java:75) at net.sf.hibernate.cfg.SettingsFactory.buildSettings (SettingsFactory.java:73) at net.sf.hibernate.cfg.Configuration.buildSettings (Configuration.java:1155) at net.sf.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:789) at org.springframework.orm.hibernate.LocalSessionFactoryBean.newSessionFact ory(LocalSessionFactoryBean.java:535) at org.springframework.orm.hibernate.LocalSessionFactoryBean.afterPropertie sSet(LocalSessionFactoryBean.java:470) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1065) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.createBean(AbstractAutowireCapableBeanFactory.java:343) at
Re: Oracle XA RAR for G1.0?
I have a feeling that something else is wrong, as I mentioned before I see hanging transactions when using the local adapter in local-tx mode. And when I ctrl-c G it corrupts the txlog each time... which is very bad IMO. What do you mean by corrupts? Do you mean that the transaction manager does not perform recovery properly upon boot? I'm starting to think this is a god must hate jason problem more than anything else :-( Since you are getting an XAException.XA_RMERR error while trying to enlist a resource manager, maybe Oracle is not set up properly to do XA transactions for you. I do remember that to get XAResource.recover() to work for example you have to grant the jdbc user certain database catalog privileges - because it has to do a select on the in-doubt transaction table. It's not impossible that you have to do some configuration in the database server to be able to enlist properly. If I were you I would try to run an xa transaction myself by calling new OracleXADataSource(), calling setConnectionURL, setPassword, setUserName, and then getConnection() and getXAResource(), and then start/end/prepare/commit. You can do this from the command line. The Oracle driver has an example class that does this so you can cut and paste. That could be a big sanity check. Guglielmo
Re: Oracle XA RAR for G1.0?
I'm going to retest everything with the 10.2.0.1.0_g driver... since 9.2.* was whack for non-xa I'm not sure that anything would work as expected. --jason On 2/7/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I have a feeling that something else is wrong, as I mentioned before I see hanging transactions when using the local adapter in local-tx mode. And when I ctrl-c G it corrupts the txlog each time... which is very bad IMO. What do you mean by corrupts? Do you mean that the transaction manager does not perform recovery properly upon boot? I'm starting to think this is a god must hate jason problem more than anything else :-( Since you are getting an XAException.XA_RMERR error while trying to enlist a resource manager, maybe Oracle is not set up properly to do XA transactions for you. I do remember that to get XAResource.recover() to work for example you have to grant the jdbc user certain database catalog privileges - because it has to do a select on the in-doubt transaction table. It's not impossible that you have to do some configuration in the database server to be able to enlist properly. If I were you I would try to run an xa transaction myself by calling new OracleXADataSource(), calling setConnectionURL, setPassword, setUserName, and then getConnection() and getXAResource(), and then start/end/prepare/commit. You can do this from the command line. The Oracle driver has an example class that does this so you can cut and paste. That could be a big sanity check. Guglielmo
Re: Oracle XA RAR for G1.0?
What do you mean by corrupts? Do you mean that the transaction manager does not perform recovery properly upon boot? So, at some point the remote EJB call appears to hang (looking into that more now), it never times out, just sits there. So I kill the process (not a -9), so the vm shutdown gracefully (or at least tries to). Then if I try to start it up again, I get NPE when the system boots (I've posted the exception previously). Now it might be possible that recovery failed for some reason... but it should not NPE, and it should not cause the application server to not load. Or it should just quickly fail with a reasonable error message about failure to recover from txlog and explain how to fix it. But, so far all I can do is `rm var/txlog/*` and then start up the server again. --jason
Re: Oracle XA RAR for G1.0?
I hacked in some code to TransactionImpl so that I can get at the OracleXAException, and it is this error: ORA-24774 Is there a better way that we can expose these problems w/o having to hack up the impl? The XA Error code (-3) is logged, but the rest of the exception detail is eaten, and unfortunately the is no toString() to add this to the log detail... erg. Should TransactionImpl be eating this exception? Or should it rethrow a SystemException with the XAException details? Or should the Oracle XA JCA provide a resource wrapper wrapper to decode the details? * * * Found this related to ORA-24774: http://mail-archive.objectweb.org/jotm/2004-09/msg00073.html This explains the same basic situation I'm seeing... 2 connections to the same server, different users... The page above mentions something about an Oracle XA flag for loosely coupled branches... but I've really got no clue wtf that means. So, I tried using the same user, and putting all tables into one schema, but keep 2 datasources, and that hangs for 30s or so, then pukes with XA error 4, Oracle error 25351, which from ora-code.com is: snip ORA-25351: transaction is currently in use Cause: The transaction is currently used by a different session. Action: Do not switch to a transaction attached to some other session. /snip These all just come across as WARN logs, and eventually I get back to the hung transaction as I saw before: snip DefaultThreadPool 4 daemon prio=5 tid=0x09f4e5b0 nid=0x83ace00 in Object.wait() [f7971000..f7972ac0] at java.lang.Object.wait(Native Method) - waiting on 0x6720c3a0 (a java.lang.Object) at org.activemq.message.ReceiptHolder.getReceipt(ReceiptHolder.java:68) - locked 0x6720c3a0 (a java.lang.Object) at org.activemq.transport.TransportChannelSupport.send(TransportChannelSupport.java:146) at org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1377) at org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1362) at org.activemq.TransactionContext.commit(TransactionContext.java:215) at org.activemq.ra.LocalAndXATransaction.commit(LocalAndXATransaction.java:56) at org.apache.geronimo.connector.outbound.LocalXAResource.commit(LocalXAResource.java:56) at org.apache.geronimo.transaction.manager.TransactionImpl.commitResources(TransactionImpl.java:590) at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:313) at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:143) at org.apache.geronimo.transaction.manager.TransactionManagerImpl$$FastClassByCGLIB$$14ee5fe0.invoke(generated) at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800) at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57) at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36) at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96) at org.apache.geronimo.transaction.ExtendedTransactionManager$$EnhancerByCGLIB$$19d099e1.commit(generated) at org.apache.geronimo.transaction.context.InheritableTransactionContext.complete(InheritableTransactionContext.java:196) at org.apache.geronimo.transaction.context.InheritableTransactionContext.commit(InheritableTransactionContext.java:146) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:152) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238) at org.openejb.server.ejbd.EjbRequestHandler.invoke(EjbRequestHandler.java:297) at org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:325) at org.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:196) at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150) at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87) at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke(generated) at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38) at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118) at
Re: Oracle XA RAR for G1.0?
It finally dawned on my that my connection to ActiveMQ using: vm://localhost?asyncSend=true Was a bad idea. So I tired using these: * vm://localhost * tcp://localhost:61616 Both of which don't hang... but now were back to more Oracle exceptions: snip 18:24:47,683 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,683 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,684 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,684 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,686 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,686 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,686 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,686 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,687 ERROR [JDBCExceptionReporter] Could not execute JDBC batch update java.sql.BatchUpdateException: ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:498) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:12368) at org.tranql.connector.jdbc.StatementHandle.executeBatch(StatementHandle.java:157) at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54) at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:126) at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2421) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2371) at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240) at org.springframework.orm.hibernate.HibernateTemplate$22.doInHibernate(HibernateTemplate.java:595) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.flush(HibernateTemplate.java:593) at com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.save(BaseDAOHibernate.java:176) at com.solidusnetworks.ach.oltp.dao.impl.ECheckDAOHibernate.saveECheck(ECheckDAOHibernate.java:208) at com.solidusnetworks.paycore.ach.model.check.service.CheckUpdateServiceBean.addECheck(CheckUpdateServiceBean.java:117) at com.solidusnetworks.paycore.ach.model.check.service.CheckUpdateServiceBean$$FastClassByCGLIB$$70674c74.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238) at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129) at org.openejb.proxy.SessionEJBLocalObject$$EnhancerByCGLIB$$d7dd99ce.addECheck(generated) at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.authorize(POSCheckServiceBean.java:234) at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean$$FastClassByCGLIB$$ac29a8c5.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at
Re: Oracle XA RAR for G1.0?
I'm not saying it won't work... but its defintetly not happy with TranQL with its throwing an exception for a metadata query instead of returning false. --jason On 2/7/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: 9.2.x.x does work with XA. I'm going to retest everything with the 10.2.0.1.0_g driver... since 9.2.* was whack for non-xa I'm not sure that anything would work as expected. --jason On 2/7/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I have a feeling that something else is wrong, as I mentioned before I see hanging transactions when using the local adapter in local-tx mode. And when I ctrl-c G it corrupts the txlog each time... which is very bad IMO. What do you mean by corrupts? Do you mean that the transaction manager does not perform recovery properly upon boot? I'm starting to think this is a god must hate jason problem more than anything else :-( Since you are getting an XAException.XA_RMERR error while trying to enlist a resource manager, maybe Oracle is not set up properly to do XA transactions for you. I do remember that to get XAResource.recover() to work for example you have to grant the jdbc user certain database catalog privileges - because it has to do a select on the in-doubt transaction table. It's not impossible that you have to do some configuration in the database server to be able to enlist properly. If I were you I would try to run an xa transaction myself by calling new OracleXADataSource(), calling setConnectionURL, setPassword, setUserName, and then getConnection() and getXAResource(), and then start/end/prepare/commit. You can do this from the command line. The Oracle driver has an example class that does this so you can cut and paste. That could be a big sanity check. Guglielmo
Re: Oracle XA RAR for G1.0?
It just sounds like a bug, I guess. On Tue, 7 Feb 2006, Jason Dillon wrote: I'm not saying it won't work... but its defintetly not happy with TranQL with its throwing an exception for a metadata query instead of returning false. --jason On 2/7/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: 9.2.x.x does work with XA. I'm going to retest everything with the 10.2.0.1.0_g driver... since 9.2.* was whack for non-xa I'm not sure that anything would work as expected. --jason On 2/7/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I have a feeling that something else is wrong, as I mentioned before I see hanging transactions when using the local adapter in local-tx mode. And when I ctrl-c G it corrupts the txlog each time... which is very bad IMO. What do you mean by corrupts? Do you mean that the transaction manager does not perform recovery properly upon boot? I'm starting to think this is a god must hate jason problem more than anything else :-( Since you are getting an XAException.XA_RMERR error while trying to enlist a resource manager, maybe Oracle is not set up properly to do XA transactions for you. I do remember that to get XAResource.recover() to work for example you have to grant the jdbc user certain database catalog privileges - because it has to do a select on the in-doubt transaction table. It's not impossible that you have to do some configuration in the database server to be able to enlist properly. If I were you I would try to run an xa transaction myself by calling new OracleXADataSource(), calling setConnectionURL, setPassword, setUserName, and then getConnection() and getXAResource(), and then start/end/prepare/commit. You can do this from the command line. The Oracle driver has an example class that does this so you can cut and paste. That could be a big sanity check. Guglielmo
Re: Oracle XA RAR for G1.0?
I've got a db looking into fixing that for me... And created https://issues.apache.org/jira/browse/GERONIMO-1599 I'm not sure how to fix this though :-( --jason On 2/7/06, lichtner [EMAIL PROTECTED] wrote: Since you crashed so many times and then had to delete the log, which knows how to clean up the in-doubt transactions, you now have some transactions which are waiting to be committed or rolled back and are holding locks (as they should.) If you have a dba I would get him/her involved. To do it manually you have to do a select on DBA_2PC_PENDING http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_3002.htm#sthref1821 and then do ROLLBACK FORCE or COMMIT FORCE as shown here: http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_txnman.htm#i1007905 If you do not privileges for the select, you can try to log in as sys with the default Oracle password: sqlplus sys/CHANGE_ON_INSTALL Sometimes they don't bother to change it. If you grant the JDBC user the ability to select on DBA_2PC_PENDING (or other appropriate view) then Geronimo (once the NPE is fixed) can settle these automatically for you. Guglielmo On Tue, 7 Feb 2006, Jason Dillon wrote: It finally dawned on my that my connection to ActiveMQ using: vm://localhost?asyncSend=true Was a bad idea. So I tired using these: * vm://localhost * tcp://localhost:61616 Both of which don't hang... but now were back to more Oracle exceptions: snip 18:24:47,683 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,683 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,684 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,684 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,686 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,686 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,686 WARN [JDBCExceptionReporter] SQL Error: 1591, SQLState: 72000 18:24:47,686 ERROR [JDBCExceptionReporter] ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 18:24:47,687 ERROR [JDBCExceptionReporter] Could not execute JDBC batch update java.sql.BatchUpdateException: ORA-01591: lock held by in-doubt distributed transaction 6.28.6034 at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:498) at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:12368) at org.tranql.connector.jdbc.StatementHandle.executeBatch(StatementHandle.java:157) at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54) at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:126) at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2421) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2371) at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2240) at org.springframework.orm.hibernate.HibernateTemplate$22.doInHibernate(HibernateTemplate.java:595) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.flush(HibernateTemplate.java:593) at com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.save(BaseDAOHibernate.java:176) at com.solidusnetworks.ach.oltp.dao.impl.ECheckDAOHibernate.saveECheck(ECheckDAOHibernate.java:208) at com.solidusnetworks.paycore.ach.model.check.service.CheckUpdateServiceBean.addECheck(CheckUpdateServiceBean.java:117) at com.solidusnetworks.paycore.ach.model.check.service.CheckUpdateServiceBean$$FastClassByCGLIB$$70674c74.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at
Re: Oracle XA RAR for G1.0?
On Tue, 7 Feb 2006, Jason Dillon wrote: I've got a db looking into fixing that for me... And created https://issues.apache.org/jira/browse/GERONIMO-1599 I'm not sure how to fix this though :-( It looks like line 219 is setting a null xidFactory. It looks like xidFactory is a GBean attribute, so perhaps it is null because the XidFactory GBean does not start properly. I think G has a log that prints out all the GBeans as they start up. Maybe you can see some earlier error messages there. Or maybe it's an ordering problem. I supposed since this is IOC you could break this if you hacked the deployment plans, or else it's some kind of oversight. Who wrote this code?
Re: Oracle XA RAR for G1.0?
No love :-( When I configure both of my datasources to use the oracle xa adapter, and use the xa adapter for activemq, I get exceptions like: snip [2/6/06 16:35:17:456 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:104) - ORA-02089: COMMIT is not allowed in a subordinate session [2/6/06 16:35:17:458 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:108) - Could not execute query java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:880) at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2516) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2850) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:537) at org.tranql.connector.jdbc.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:49) at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87) at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875) at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269) at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133) at net.sf.hibernate.loader.Loader.doList(Loader.java:1033) at net.sf.hibernate.loader.Loader.list(Loader.java:1024) at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854) at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544) at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39) at org.springframework.orm.hibernate.HibernateTemplate$26.doInHibernate(HibernateTemplate.java:667) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:655) at com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.find(BaseDAOHibernate.java:423) at com.solidusnetworks.ach.oltp.dao.impl.NegativeFileDAOHibernate.findActiveNegativeFiles(NegativeFileDAOHibernate.java:394) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean.retrieveActiveGlobalAndMerchantNegativeFiles(NegativeFileViewServiceBean.java:87) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean$$FastClassByCGLIB$$55b05efa.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238) at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129) at org.openejb.proxy.SessionEJBLocalObject$$EnhancerByCGLIB$$c4231b05.retrieveActiveGlobalAndMerchantNegativeFiles(generated) at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.retrieveNegativeFileData(POSCheckServiceBean.java:414) at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.checkForNegativeFileAndDollarLimit(POSCheckServiceBean.java:300) at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.authorize(POSCheckServiceBean.java:206) at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean$$FastClassByCGLIB$$ac29a8c5.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at
Re: Oracle XA RAR for G1.0?
ORA-02089: COMMIT is not allowed in a subordinate session Cause: COMMIT was issued in a session that is not the two-phase commit global coordinator. Action: Issue commit at the global coordinator only. http://oraclesvca2.oracle.com/docs/cd/B19306_01/server.102/b14219/e1500.htm#sthref32 On Mon, 6 Feb 2006, Jason Dillon wrote: No love :-( When I configure both of my datasources to use the oracle xa adapter, and use the xa adapter for activemq, I get exceptions like: snip [2/6/06 16:35:17:456 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:104) - ORA-02089: COMMIT is not allowed in a subordinate session [2/6/06 16:35:17:458 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:108) - Could not execute query java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:880) at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2516) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2850) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:537) at org.tranql.connector.jdbc.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:49) at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87) at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875) at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269) at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133) at net.sf.hibernate.loader.Loader.doList(Loader.java:1033) at net.sf.hibernate.loader.Loader.list(Loader.java:1024) at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854) at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544) at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39) at org.springframework.orm.hibernate.HibernateTemplate$26.doInHibernate(HibernateTemplate.java:667) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:655) at com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.find(BaseDAOHibernate.java:423) at com.solidusnetworks.ach.oltp.dao.impl.NegativeFileDAOHibernate.findActiveNegativeFiles(NegativeFileDAOHibernate.java:394) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean.retrieveActiveGlobalAndMerchantNegativeFiles(NegativeFileViewServiceBean.java:87) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean$$FastClassByCGLIB$$55b05efa.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238) at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129) at org.openejb.proxy.SessionEJBLocalObject$$EnhancerByCGLIB$$c4231b05.retrieveActiveGlobalAndMerchantNegativeFiles(generated) at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.retrieveNegativeFileData(POSCheckServiceBean.java:414) at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.checkForNegativeFileAndDollarLimit(POSCheckServiceBean.java:300)
Re: Oracle XA RAR for G1.0?
That's about as helpful as Sanskrit. Aaron On 2/6/06, lichtner [EMAIL PROTECTED] wrote: ORA-02089: COMMIT is not allowed in a subordinate session Cause: COMMIT was issued in a session that is not the two-phase commit global coordinator. Action: Issue commit at the global coordinator only. http://oraclesvca2.oracle.com/docs/cd/B19306_01/server.102/b14219/e1500.htm#sthref32 On Mon, 6 Feb 2006, Jason Dillon wrote: No love :-( When I configure both of my datasources to use the oracle xa adapter, and use the xa adapter for activemq, I get exceptions like: snip [2/6/06 16:35:17:456 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:104) - ORA-02089: COMMIT is not allowed in a subordinate session [2/6/06 16:35:17:458 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:108) - Could not execute query java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:880) at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2516) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2850) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:537) at org.tranql.connector.jdbc.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:49) at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87) at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875) at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269) at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133) at net.sf.hibernate.loader.Loader.doList(Loader.java:1033) at net.sf.hibernate.loader.Loader.list(Loader.java:1024) at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854) at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544) at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39) at org.springframework.orm.hibernate.HibernateTemplate$26.doInHibernate(HibernateTemplate.java:667) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:655) at com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.find(BaseDAOHibernate.java:423) at com.solidusnetworks.ach.oltp.dao.impl.NegativeFileDAOHibernate.findActiveNegativeFiles(NegativeFileDAOHibernate.java:394) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean.retrieveActiveGlobalAndMerchantNegativeFiles(NegativeFileViewServiceBean.java:87) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean$$FastClassByCGLIB$$55b05efa.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238) at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129) at org.openejb.proxy.SessionEJBLocalObject$$EnhancerByCGLIB$$c4231b05.retrieveActiveGlobalAndMerchantNegativeFiles(generated) at
Re: Oracle XA RAR for G1.0?
Thanks But I'm still clueless as to why this happens :-( --jason -Original Message- From: lichtner [EMAIL PROTECTED] Date: Mon, 6 Feb 2006 22:06:48 To:dev@geronimo.apache.org Subject: Re: Oracle XA RAR for G1.0? ORA-02089: COMMIT is not allowed in a subordinate session Cause: COMMIT was issued in a session that is not the two-phase commit global coordinator. Action: Issue commit at the global coordinator only. http://oraclesvca2.oracle.com/docs/cd/B19306_01/server.102/b14219/e1500.htm#sthref32 On Mon, 6 Feb 2006, Jason Dillon wrote: No love :-( When I configure both of my datasources to use the oracle xa adapter, and use the xa adapter for activemq, I get exceptions like: snip [2/6/06 16:35:17:456 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:104) - ORA-02089: COMMIT is not allowed in a subordinate session [2/6/06 16:35:17:458 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:108) - Could not execute query java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:880) at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2516) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2850) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:537) at org.tranql.connector.jdbc.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:49) at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87) at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875) at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269) at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133) at net.sf.hibernate.loader.Loader.doList(Loader.java:1033) at net.sf.hibernate.loader.Loader.list(Loader.java:1024) at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854) at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544) at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39) at org.springframework.orm.hibernate.HibernateTemplate$26.doInHibernate(HibernateTemplate.java:667) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:655) at com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.find(BaseDAOHibernate.java:423) at com.solidusnetworks.ach.oltp.dao.impl.NegativeFileDAOHibernate.findActiveNegativeFiles(NegativeFileDAOHibernate.java:394) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean.retrieveActiveGlobalAndMerchantNegativeFiles(NegativeFileViewServiceBean.java:87) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean$$FastClassByCGLIB$$55b05efa.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82) at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238) at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129) at org.openejb.proxy.SessionEJBLocalObject$$EnhancerByCGLIB$$c4231b05.retrieveActiveGlobalAndMerchantNegativeFiles(generated
Re: Oracle XA RAR for G1.0?
What resource managers are in your transaction? Is it just Geronimo and one instance of Oracle? Do you happen to be executing a stored procedure, or are you calling commit explicitly anywhere except through JTA? On Tue, 7 Feb 2006, Jason Dillon wrote: Thanks But I'm still clueless as to why this happens :-( --jason -Original Message- From: lichtner [EMAIL PROTECTED] Date: Mon, 6 Feb 2006 22:06:48 To:dev@geronimo.apache.org Subject: Re: Oracle XA RAR for G1.0? ORA-02089: COMMIT is not allowed in a subordinate session Cause: COMMIT was issued in a session that is not the two-phase commit global coordinator. Action: Issue commit at the global coordinator only. http://oraclesvca2.oracle.com/docs/cd/B19306_01/server.102/b14219/e1500.htm#sthref32 On Mon, 6 Feb 2006, Jason Dillon wrote: No love :-( When I configure both of my datasources to use the oracle xa adapter, and use the xa adapter for activemq, I get exceptions like: snip [2/6/06 16:35:17:456 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:104) - ORA-02089: COMMIT is not allowed in a subordinate session [2/6/06 16:35:17:458 PST] [ERROR] - org.apache.geronimo.kernel.log.GeronimoLog.error(line:108) - Could not execute query java.sql.SQLException: ORA-02089: COMMIT is not allowed in a subordinate session at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:880) at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2516) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2850) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:537) at org.tranql.connector.jdbc.PreparedStatementHandle.executeQuery(PreparedStatementHandle.java:49) at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:87) at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:875) at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269) at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133) at net.sf.hibernate.loader.Loader.doList(Loader.java:1033) at net.sf.hibernate.loader.Loader.list(Loader.java:1024) at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854) at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1544) at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39) at org.springframework.orm.hibernate.HibernateTemplate$26.doInHibernate(HibernateTemplate.java:667) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:312) at org.springframework.orm.hibernate.HibernateTemplate.find(HibernateTemplate.java:655) at com.solidusnetworks.paycore.util.hibernate.BaseDAOHibernate.find(BaseDAOHibernate.java:423) at com.solidusnetworks.ach.oltp.dao.impl.NegativeFileDAOHibernate.findActiveNegativeFiles(NegativeFileDAOHibernate.java:394) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean.retrieveActiveGlobalAndMerchantNegativeFiles(NegativeFileViewServiceBean.java:87) at com.solidusnetworks.paycore.ach.model.negativefile.service.NegativeFileViewServiceBean$$FastClassByCGLIB$$55b05efa.invoke(generated) at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90) at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67) at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72) at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56) at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98) at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119) at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80) at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82
Re: Oracle XA RAR for G1.0?
It's my sanskrit-only support contract. Here on dejanews you can see other people suffering from a similar problem: http://groups.google.com/groups?q=COMMIT+is+not+allowed+in+a+subordinate+sessionhl=en On Mon, 6 Feb 2006, Aaron Mulder wrote: That's about as helpful as Sanskrit. Aaron On 2/6/06, lichtner [EMAIL PROTECTED] wrote: ORA-02089: COMMIT is not allowed in a subordinate session Cause: COMMIT was issued in a session that is not the two-phase commit global coordinator. Action: Issue commit at the global coordinator only.
Re: Oracle XA RAR for G1.0?
And the plot thickens... this warning is issued before the exceptions are dumped: snip 21:21:23,050 WARN [Transaction] Unable to enlist XAResource [EMAIL PROTECTED], e rrorCode: -3 oracle.jdbc.xa.OracleXAException at oracle.jdbc.xa.OracleXAResource.checkError (OracleXAResource.java:1190) at oracle.jdbc.xa.client.OracleXAResource.start (OracleXAResource.java:311) at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.start (WrapperNamedXAResource.java:86) at org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource (TransactionImpl.java:166) at org.apache.geronimo.transaction.context.InheritableTransactionContext.en listResource(InheritableTransactionContext.java:92) at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.g etConnection(TransactionEnlistingInterceptor.java:53) at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.get Connection(TransactionCachingInterceptor.java:81) at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getCo nnection(ConnectionHandleInterceptor.java:43) at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection (TCCLInterceptor.java:39) at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.get Connection(ConnectionTrackingInterceptor.java:66) at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocat eConnection(AbstractConnectionManager.java:57) at org.tranql.connector.jdbc.DataSource.getConnection (DataSource.java:56) at $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke (generated) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept (ConnectorMethodInterceptor.java:53) at $javax.sql.DataSource$$EnhancerByCGLIB$ $4e89d0c0.getConnection(generated) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection( AopUtils.java:282) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:163) at $Proxy1.getConnection(Unknown Source) at org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getC onnection(LocalDataSourceConnectionProvider.java:75) at net.sf.hibernate.cfg.SettingsFactory.buildSettings (SettingsFactory.java:73) at net.sf.hibernate.cfg.Configuration.buildSettings (Configuration.java:1155) at net.sf.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:789) at org.springframework.orm.hibernate.LocalSessionFactoryBean.newSessionFact ory(LocalSessionFactoryBean.java:535) at org.springframework.orm.hibernate.LocalSessionFactoryBean.afterPropertie sSet(LocalSessionFactoryBean.java:470) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1065) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.createBean(AbstractAutowireCapableBeanFactory.java:343) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.createBean(AbstractAutowireCapableBeanFactory.java:260) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:221) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:145) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.resolveReference(AbstractAutowireCapableBeanFactory.java:973) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java: 911) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:852) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.populateBean(AbstractAutowireCapableBeanFactory.java:680) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.createBean(AbstractAutowireCapableBeanFactory.java:325) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.createBean(AbstractAutowireCapableBeanFactory.java:260) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:221) at
Re: Oracle XA RAR for G1.0?
-3 should be javax.transaction.xa.XAException.XA_RMERR: http://java.sun.com/j2ee/1.4/docs/api/constant-values.html#javax.transaction Anyhow, you are not actually enlisting the oracle resource manager, so that's a step in the right direction. I think that Geronimo is not printing the stack trace. If you can, maybe add a printStackTrace() and recompile. What version of Oracle server and driver are you using? On Mon, 6 Feb 2006, Jason Dillon wrote: And the plot thickens... this warning is issued before the exceptions are dumped: snip 21:21:23,050 WARN [Transaction] Unable to enlist XAResource [EMAIL PROTECTED], e rrorCode: -3 oracle.jdbc.xa.OracleXAException at oracle.jdbc.xa.OracleXAResource.checkError (OracleXAResource.java:1190) at oracle.jdbc.xa.client.OracleXAResource.start (OracleXAResource.java:311) at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.start (WrapperNamedXAResource.java:86) at org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource (TransactionImpl.java:166) at org.apache.geronimo.transaction.context.InheritableTransactionContext.en listResource(InheritableTransactionContext.java:92) at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.g etConnection(TransactionEnlistingInterceptor.java:53) at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.get Connection(TransactionCachingInterceptor.java:81) at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getCo nnection(ConnectionHandleInterceptor.java:43) at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection (TCCLInterceptor.java:39) at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.get Connection(ConnectionTrackingInterceptor.java:66) at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocat eConnection(AbstractConnectionManager.java:57) at org.tranql.connector.jdbc.DataSource.getConnection (DataSource.java:56) at $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke (generated) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept (ConnectorMethodInterceptor.java:53) at $javax.sql.DataSource$$EnhancerByCGLIB$ $4e89d0c0.getConnection(generated) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection( AopUtils.java:282) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:163) at $Proxy1.getConnection(Unknown Source) at org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getC onnection(LocalDataSourceConnectionProvider.java:75) at net.sf.hibernate.cfg.SettingsFactory.buildSettings (SettingsFactory.java:73) at net.sf.hibernate.cfg.Configuration.buildSettings (Configuration.java:1155) at net.sf.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:789) at org.springframework.orm.hibernate.LocalSessionFactoryBean.newSessionFact ory(LocalSessionFactoryBean.java:535) at org.springframework.orm.hibernate.LocalSessionFactoryBean.afterPropertie sSet(LocalSessionFactoryBean.java:470) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1065) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.createBean(AbstractAutowireCapableBeanFactory.java:343) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.createBean(AbstractAutowireCapableBeanFactory.java:260) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:221) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:145) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.resolveReference(AbstractAutowireCapableBeanFactory.java:973) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java: 911) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:852) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
Re: Oracle XA RAR for G1.0?
Any clue on the required config to get the rar deployed? I'm trying to convert this URL to the params for the RAR: jdbc:oracle:thin:@mydbhost:1621:devdb Unfortunately the Oracle XA RAR does not take a URL, but wants granular configuration. Some obvious stuff I get (like the port number), but what to use for protocol and type, etc have me scratching my head. I also looked for the Javadocs for oracle.jdbc.xa.client.OracleXADataSource with no luck to see what properties it exposed. The only docs I can find are to expose the XAResource, but there must be more since the TranQL RAR is calling some of them. Any ideas? --jason On Feb 3, 2006, at 5:44 AM, Matt Hogstrom wrote: I think David means that it has not been extensively tested and so there are no gurantees that you'll simply be able to drop it in. I'm currently working on a DB2 XA RAR and am still working out some kinks. It should work well, we're just not sure its been testd enough to know that it does. I looked on CodeHaus and it appears that Jeremy had not previous released a SNAPSHOT. I compiled the connector this morning against the Oracle 10.1.4.0 classes12.jar. I've published it and it is called tranql/rars/tranql-connector- oracle-xa-1.0-SNAPSHOT.rar If someone can try this out then that would be excellent. I have only compiled it and not tested it so caveat emptor. lichtner wrote: On Fri, 3 Feb 2006, David Jencks wrote: It is likely to work if you build it. However I don't know that it has been used in the last year or more, so I won't make any promises. Matt might have tried it, I don't know. We have been a bit reluctant to publish it without more evidence that it works well. Why would it not work well? When I was in my last job I remember getting that rar to work with mysql xa, so it probably also works with Oracle xa.
Re: Oracle XA RAR for G1.0?
I think the properties were ConnectionURL, UserName and Password, but don't spend a lot of time on these because I could be wrong .. On Sun, 5 Feb 2006, Jason Dillon wrote: Any clue on the required config to get the rar deployed? I'm trying to convert this URL to the params for the RAR: jdbc:oracle:thin:@mydbhost:1621:devdb Unfortunately the Oracle XA RAR does not take a URL, but wants granular configuration. Some obvious stuff I get (like the port number), but what to use for protocol and type, etc have me scratching my head. I also looked for the Javadocs for oracle.jdbc.xa.client.OracleXADataSource with no luck to see what properties it exposed. The only docs I can find are to expose the XAResource, but there must be more since the TranQL RAR is calling some of them. Any ideas? --jason On Feb 3, 2006, at 5:44 AM, Matt Hogstrom wrote: I think David means that it has not been extensively tested and so there are no gurantees that you'll simply be able to drop it in. I'm currently working on a DB2 XA RAR and am still working out some kinks. It should work well, we're just not sure its been testd enough to know that it does. I looked on CodeHaus and it appears that Jeremy had not previous released a SNAPSHOT. I compiled the connector this morning against the Oracle 10.1.4.0 classes12.jar. I've published it and it is called tranql/rars/tranql-connector- oracle-xa-1.0-SNAPSHOT.rar If someone can try this out then that would be excellent. I have only compiled it and not tested it so caveat emptor. lichtner wrote: On Fri, 3 Feb 2006, David Jencks wrote: It is likely to work if you build it. However I don't know that it has been used in the last year or more, so I won't make any promises. Matt might have tried it, I don't know. We have been a bit reluctant to publish it without more evidence that it works well. Why would it not work well? When I was in my last job I remember getting that rar to work with mysql xa, so it probably also works with Oracle xa.
Oracle XA RAR for G1.0?
I've been digging around the net for a while, found some pages that indicate that there is support for Oracle XA, some that say there is a a TranQL RAR for it... and others that list that the only XA RAR is the one for Derby. Anyone know definitively what the story is? And if possible know what is needed to get it working? --jason
Re: Oracle XA RAR for G1.0?
On Feb 3, 2006, at 12:45 AM, Jason Dillon wrote: I've been digging around the net for a while, found some pages that indicate that there is support for Oracle XA, some that say there is a a TranQL RAR for it... and others that list that the only XA RAR is the one for Derby. Anyone know definitively what the story is? There is definitely an oracle xa rar in tranql/vendors/oracle/xa And if possible know what is needed to get it working? It is likely to work if you build it. However I don't know that it has been used in the last year or more, so I won't make any promises. Matt might have tried it, I don't know. We have been a bit reluctant to publish it without more evidence that it works well. thanks david jencks --jason
Re: Oracle XA RAR for G1.0?
On Fri, 3 Feb 2006, David Jencks wrote: It is likely to work if you build it. However I don't know that it has been used in the last year or more, so I won't make any promises. Matt might have tried it, I don't know. We have been a bit reluctant to publish it without more evidence that it works well. Why would it not work well? When I was in my last job I remember getting that rar to work with mysql xa, so it probably also works with Oracle xa.
Re: Oracle XA RAR for G1.0?
I think David means that it has not been extensively tested and so there are no gurantees that you'll simply be able to drop it in. I'm currently working on a DB2 XA RAR and am still working out some kinks. It should work well, we're just not sure its been testd enough to know that it does. I looked on CodeHaus and it appears that Jeremy had not previous released a SNAPSHOT. I compiled the connector this morning against the Oracle 10.1.4.0 classes12.jar. I've published it and it is called tranql/rars/tranql-connector-oracle-xa-1.0-SNAPSHOT.rar If someone can try this out then that would be excellent. I have only compiled it and not tested it so caveat emptor. lichtner wrote: On Fri, 3 Feb 2006, David Jencks wrote: It is likely to work if you build it. However I don't know that it has been used in the last year or more, so I won't make any promises. Matt might have tried it, I don't know. We have been a bit reluctant to publish it without more evidence that it works well. Why would it not work well? When I was in my last job I remember getting that rar to work with mysql xa, so it probably also works with Oracle xa.
Re: Oracle XA RAR for G1.0?
Awesome. I will given 'em a shot. Thanks :-) --jason On 2/3/06, Matt Hogstrom [EMAIL PROTECTED] wrote: I think David means that it has not been extensively tested and so there are no gurantees that you'll simply be able to drop it in. I'm currently working on a DB2 XA RAR and am still working out some kinks. It should work well, we're just not sure its been testd enough to know that it does. I looked on CodeHaus and it appears that Jeremy had not previous released a SNAPSHOT. I compiled the connector this morning against the Oracle 10.1.4.0 classes12.jar. I've published it and it is called tranql/rars/tranql-connector-oracle-xa-1.0-SNAPSHOT.rar If someone can try this out then that would be excellent. I have only compiled it and not tested it so caveat emptor. lichtner wrote: On Fri, 3 Feb 2006, David Jencks wrote: It is likely to work if you build it. However I don't know that it has been used in the last year or more, so I won't make any promises. Matt might have tried it, I don't know. We have been a bit reluctant to publish it without more evidence that it works well. Why would it not work well? When I was in my last job I remember getting that rar to work with mysql xa, so it probably also works with Oracle xa.
Re: Oracle XA RAR for G1.0?
If the RAR is specific to the driver, don't we want to compile against a JDK 1.4 driver not a JDK 1.2 driver? Thanks, Aaron On 2/3/06, Matt Hogstrom [EMAIL PROTECTED] wrote: I think David means that it has not been extensively tested and so there are no gurantees that you'll simply be able to drop it in. I'm currently working on a DB2 XA RAR and am still working out some kinks. It should work well, we're just not sure its been testd enough to know that it does. I looked on CodeHaus and it appears that Jeremy had not previous released a SNAPSHOT. I compiled the connector this morning against the Oracle 10.1.4.0 classes12.jar. I've published it and it is called tranql/rars/tranql-connector-oracle-xa-1.0-SNAPSHOT.rar If someone can try this out then that would be excellent. I have only compiled it and not tested it so caveat emptor. lichtner wrote: On Fri, 3 Feb 2006, David Jencks wrote: It is likely to work if you build it. However I don't know that it has been used in the last year or more, so I won't make any promises. Matt might have tried it, I don't know. We have been a bit reluctant to publish it without more evidence that it works well. Why would it not work well? When I was in my last job I remember getting that rar to work with mysql xa, so it probably also works with Oracle xa.
Re: Oracle XA RAR for G1.0?
Good point. Although I suspect it won't matter. I'll take a look at that and update as appropriate. Thanks Aaron Mulder wrote: If the RAR is specific to the driver, don't we want to compile against a JDK 1.4 driver not a JDK 1.2 driver? Thanks, Aaron On 2/3/06, Matt Hogstrom [EMAIL PROTECTED] wrote: I think David means that it has not been extensively tested and so there are no gurantees that you'll simply be able to drop it in. I'm currently working on a DB2 XA RAR and am still working out some kinks. It should work well, we're just not sure its been testd enough to know that it does. I looked on CodeHaus and it appears that Jeremy had not previous released a SNAPSHOT. I compiled the connector this morning against the Oracle 10.1.4.0 classes12.jar. I've published it and it is called tranql/rars/tranql-connector-oracle-xa-1.0-SNAPSHOT.rar If someone can try this out then that would be excellent. I have only compiled it and not tested it so caveat emptor. lichtner wrote: On Fri, 3 Feb 2006, David Jencks wrote: It is likely to work if you build it. However I don't know that it has been used in the last year or more, so I won't make any promises. Matt might have tried it, I don't know. We have been a bit reluctant to publish it without more evidence that it works well. Why would it not work well? When I was in my last job I remember getting that rar to work with mysql xa, so it probably also works with Oracle xa.