1 Reply Latest reply: Dec 26, 2011 12:39 PM by user11900578 RSS

    WLS 10.3.2 - stack during commit transaction - application after upgrade

    747824
      {size:12}After upgrading our application from Weblogic 8.1.4 to 10.3.2 and Java from 1.4.02_08 to 1.6.0_16 i have error during commit transaction.
      On WLS 8.1.4 I had no problems. Error occurs, when client finishes his work, lists of created, modified and deleted objects are passed to server.
      The server has to perform transaction commit. But the transaction isn't commited, because of the error.
      Our investigation revealed, that problem occurs when we set relation between 2 beans.
      In our case bean TestBean has 2 relations with 2 others beans (TestRelationBean and TestOperationBean).
      When we set one of this relation there is no problem (setting relation between TestBean and TestRelationBean), but when we set another there is an error.
      Related beans and relations look identical (same hierarchy and structure), but error occurs only when we set relation between TestOperationBean and TestZapisuBean.
      Java sources are the same - builded on Java 1.4.02_08 and installed on WLS 8.1.4 - application works, builded on Java 1.6.0_16 and installed on WLS 10.3.2 don't.{size}
      <2010-01-19 14:27:43 CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING>
      <2010-01-19 14:27:43 CET> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode> 
      <2010-01-19 14:28:37 CET> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction 
      Name=[EJB ...bazowe.ejb.FasadaBean.synchronizuj(...bazowe.bezpieczenstwo.synchronizacja.ParametrSynchronizacji)],
      Xid=BEA1-014B5C28973C6D1EB675(25822864),Status=Rolled back. [Reason=java.lang.IllegalStateException: [EJB:010193]Illegal call to EJBContext method.
      The bean is in "null" state. It cannot perform 'getting EJB object for Entity bean' OR 'getting the primary key' action(s). 
      Refer to the EJB specification for more
      details.],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=2,seconds
      left=60,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=
      (state=rolledback,assigned=S),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@b500bb,re-Registered = false),SCInfo[zszik+S]=(state=rolledback),properties=
      ({weblogic.transaction.name=[EJB ...bazowe.ejb.FasadaBean.synchronizuj(...bazowe.bezpieczenstwo.synchronizacja.ParametrSynchronizacji)],
      weblogic.jdbc=t3://10.10.110.140:7001}),local properties=({modifiedListeners=
      [weblogic.ejb.container.internal.TxManager$TxListener@aecba1]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=
      (CoordinatorURL=S+10.10.110.140:7001+zszik+t3+, XAResources={WLStore_zszik__WLS_S, weblogic.jdbc.wrapper.JTSXAResourceImpl,
      WSATGatewayRM_S_zszik},NonXAResources={})],CoordinatorURL=S+10.10.110.140:7001+zszik+t3+): weblogic.transaction.RollbackException: Unexpected
      exception in beforeCompletion: sync=weblogic.ejb.container.internal.TxManager$TxListener@aecba1
      [EJB:010193]Illegal call to EJBContext method. The bean is in "null" state. It cannot perform 'getting EJB object for Entity bean' OR 'getting the primary key' action(s).
      Refer to the EJB specification for more details.
           at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1834)
           at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:339)
           at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:233)
           at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:621)
           at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:441)
           at weblogic.ejb.container.internal.StatefulRemoteObject.postInvokeTxRetry(StatefulRemoteObject.java:136)
           at ...bazowe.ejb.Fasada_philjw_EOImpl.synchronizuj(Fasada_philjw_EOImpl.java:1248)
           at ...bazowe.ejb.Fasada_philjw_EOImpl_WLSkel.invoke(Unknown Source)
           at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
           at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
           at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
           at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
           at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
           at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
           at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
           at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
           at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
      Caused by: java.lang.IllegalStateException: [EJB:010193]Illegal call to EJBContext method. The bean is in "null" state. It cannot perform 'getting EJB object for Entity bean' OR 'getting the primary key' action(s). 
      Refer to the EJB specification for more details.
           at weblogic.ejb.container.internal.BaseEJBContext.checkAllowedMethod(BaseEJBContext.java:141)
           at weblogic.ejb.container.internal.EntityEJBContextImpl.getPrimaryKey(EntityEJBContextImpl.java:39)
           at ...upgrade.srw.ejb.TestZapisu_5fxddk__WebLogic_CMP_RDBMS.setWersjaWLS__WL_optimisticField(TestZapisu_5fxddk__WebLogic_CMP_RDBMS.java:821)
           at ...upgrade.srw.ejb.TestZapisu_5fxddk__WebLogic_CMP_RDBMS.__WL_getIsModifiedUnion(TestZapisu_5fxddk__WebLogic_CMP_RDBMS.java:4015)
           at weblogic.ejb.container.manager.BaseEntityManager.executeUpdateStmt(BaseEntityManager.java:1140)
           at weblogic.ejb.container.internal.TxManager$TxListener.executeUpdate(TxManager.java:874)
           at weblogic.ejb.container.internal.TxManager$TxListener.executeDBOperations(TxManager.java:834)
           at weblogic.ejb.container.internal.TxManager$TxListener.beforeCompletion(TxManager.java:1054)
           at weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCInfo.java:1229)
           at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1204)
           at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:118)
           at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1310)
           at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2122)
           at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:266)
           ... 15 more
      .> 
      Thank you for any advices.
      --
      Krzysiek