0 Replies Latest reply on Aug 20, 2002 6:09 AM by H.-C.Gürsoy

    Problems migrating 2.4.4 -> 2.4.8

    H.-C.Gürsoy Newbie

      Hi Folks!

      Migrating from 2.4.4 to 2.4.8 we have obeserved some odd problems.

      First, now the server.log warns about not existing transactions:

      [13:40:12,376,XAConnectionFactory] no xares in rms for con org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0
      [13:40:12,376,XAConnectionFactory] no xares in rms for con org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0
      [13:40:12,376,XAConnectionFactory] no xares in rms for con org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0
      [13:40:12,377,XAConnectionFactory] no xares in rms for con org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0
      [13:40:12,377,XAConnectionFactory] no xares in rms for con org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0
      [13:40:12,378,XAConnectionFactory] no xares in rms for con org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0
      [13:40:12,378,XAConnectionFactory] no xares in rms for con org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0
      [13:40:15,592,XAConnectionFactory] XAConnectionImpl: org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0 has no current tx!
      [13:40:15,787,XAConnectionFactory] XAConnectionImpl: org.jboss.pool.jdbc.xa.wrapper.XAConnectionImpl@61d0d0 has no current tx!

      These messages are written during the startup of JBoss before the deployment of the ear, too.

      After deployment, we see many exceptions like this:

      [13:45:17,737,TxCapsule] XAException: tx=XidImpl [FormatId=257, GlobalId=devweb1.xyz.de//372, BranchQual=] errorCode
      =XAER_NOTA
      javax.transaction.xa.XAException
      at org.jboss.pool.jdbc.xa.wrapper.XAResourceImpl.throwXAException(XAResourceImpl.java:307)
      at org.jboss.pool.jdbc.xa.wrapper.XAResourceImpl.start(XAResourceImpl.java:294)
      at org.jboss.tm.TxCapsule.startResource(TxCapsule.java:1088)
      at org.jboss.tm.TxCapsule.enlistResource(TxCapsule.java:615)
      at org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:102)
      at org.jboss.pool.jdbc.xa.XAConnectionFactory.prepareObject(XAConnectionFactory.java:327)
      at org.jboss.pool.ObjectPool.getObject(ObjectPool.java:676)
      at org.jboss.pool.jdbc.xa.XAPoolDataSource.getConnection(XAPoolDataSource.java:227)
      at org.jboss.ejb.plugins.jaws.metadata.JawsApplicationMetaData.getConnection(JawsApplicationMetaData.java:109)
      at org.jboss.ejb.plugins.jaws.metadata.JawsEntityMetaData.getConnection(JawsEntityMetaData.java:218)
      at org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.getConnection(JDBCCommand.java:673)
      at org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.jdbcExecute(JDBCCommand.java:148)
      at org.jboss.ejb.plugins.jaws.jdbc.JDBCBeanExistsCommand.execute(JDBCBeanExistsCommand.java:48)
      at org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntityCommand.findByPrimaryKey(JDBCFindEntityCommand.java:84)
      at org.jboss.ejb.plugins.jaws.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:59)
      at org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.findEntity(JAWSPersistenceManager.java:137)
      at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:304)
      at org.jboss.ejb.EntityContainer.find(EntityContainer.java:618)
      at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:867)
      at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:234)
      at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:147)
      at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:97)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:142)
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:347)
      at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:86)
      at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:102)
      at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:103)
      at org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:429)
      at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(JRMPContainerInvoker.java:458)
      at org.jboss.ejb.plugins.jrmp.interfaces.HomeProxy.invokeHome(HomeProxy.java:237)
      at org.jboss.ejb.plugins.jrmp.interfaces.HomeProxy.invoke(HomeProxy.java:182)
      at $Proxy57.findByPrimaryKey(Unknown Source)
      ....
      [13:45:17,749,TxCapsule] XAException: tx=XidImpl [FormatId=257, GlobalId=devweb1.xyz.de//372, BranchQual=] errorCode
      =XAER_PROTO

      And some other exceptions while we try to create new beans:

      [13:50:18,546,STDOUT] java.rmi.ServerException: Transaction rolled back; nested exception is:
      javax.transaction.TransactionRolledbackException: INSERTING AN ALREADY EXISTING BEAN, ID = Code=zap, flag=
      1, number3615, line1, imported 2002-08-19 13:50:18.208; nested exception is:
      java.lang.IllegalStateException: INSERTING AN ALREADY EXISTING BEAN, ID = code=zap, flag=1, number3615, line1, imported 2002-08-19 13:50:18.208
      [13:50:18,548,STDOUT] at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:316)
      [13:50:18,548,STDOUT] at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInte
      rceptor.java:82)
      [13:50:18,549,STDOUT] at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:127)
      [13:50:18,549,STDOUT] at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:170)
      [13:50:18,550,STDOUT] at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:286)
      [13:50:18,550,STDOUT] at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:506)
      [13:50:18,551,STDOUT] at org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(GenericProxy.java:335)
      [13:50:18,551,STDOUT] at org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(StatelessSessionProxy.java
      :123)
      [13:50:18,552,STDOUT] at $Proxy20.importStatus(Unknown Source)

      The beans are CMP with commit option "A". If i change this to "C" as mentioned in Bug #504481, we see other exceptions:

      [16:06:54,386,JAWSPersistenceManager] java.sql.SQLException:
      ORA-00001: unique constraint (DUMMY.BBBFP_LOCATIONS
      _PK) violated
      ORA-06512: at "DUMMY.BBBFP_LOCATIONS_VIEW_IIR", line 3
      ORA-04088: error during execution of trigger
      'DUMMY.BBBFP_LOCATIONS_VIEW_IIR'

      [16:06:54,388,JAWSPersistenceManager] Could not create entity:
      ORA-06512: at "DUMMY.BBBFP_LOCATIONS_VIEW_IIR", line 3
      ORA-04088: error during execution of trigger
      'DUMMY.BBBFP_LOCATIONS_VIEW_IIR'
      at
      oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:169)
      at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
      at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
      at ....


      All these exceptions we've not observed under 2.4.4 and the application works fine there. The beans became allways a new PK with an timestamp as a part of it, so it's not possible to generate the same PK two times.

      We use the latest JDBC-Drivers (8.1.7.1) for the Oracle 8.1.7-Database and JDK 1.4.1.

      Any hints?