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 
> > 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 
> > org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98)
> >         at 
> > org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:140)
> >         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 
> > 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.activeio.xnet.ServerService$$EnhancerByCGLIB$$944b9c52.service(<generated>)
> >         at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
> >         at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
> >         at 
> > org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:138)
> >         at 
> > EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> > Source)
> >         at java.lang.Thread.run(Thread.java:552)
> > </snip>
> >
> > And my now good friend ora-code.com says that it means:
> >
> > <snip>
> > ORA-01591:    lock held by in-doubt distributed transaction string
> > Cause:        An attempt was made to access resource that is locked by a 
> > dead
> > two-phase commit transaction that is in prepared state.
> > Action:       The database administrator should query the PENDING_TRANS$ and
> > related tables, and attempt to repair network connection(s) to
> > coordinator and commit point. If timely repair is not possible, the
> > database administrator should contact the database administrator at
> > the commit point if known or the end user for correct outcome, or use
> > heuristic default if given to issue a heuristic COMMIT or ABORT
> > command to finalize the local portion of the distributed transaction.
> > </snip>
> >
> > So, I think I've gotten further, but now I have no idea what to try.
> >
> > :-(
> >
> > --jason
> >
>

Reply via email to