Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 86019 invoked from network); 30 Oct 2008 08:16:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 30 Oct 2008 08:16:06 -0000 Received: (qmail 7458 invoked by uid 500); 30 Oct 2008 08:16:11 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 7439 invoked by uid 500); 30 Oct 2008 08:16:11 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 7428 invoked by uid 99); 30 Oct 2008 08:16:11 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Oct 2008 01:16:11 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 Oct 2008 08:15:04 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id CD6A2234C234 for ; Thu, 30 Oct 2008 01:15:44 -0700 (PDT) Message-ID: <1843049695.1225354544836.JavaMail.jira@brutus> Date: Thu, 30 Oct 2008 01:15:44 -0700 (PDT) From: "Dinkar Rao (JIRA)" To: dev@openjpa.apache.org Subject: [jira] Commented: (OPENJPA-749) Re insert record into DB updating Entity while global transaction enabled. In-Reply-To: <1441116484.1224208244175.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/OPENJPA-749?page=3Dcom.atlassia= n.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D126= 43778#action_12643778 ]=20 Dinkar Rao commented on OPENJPA-749: ------------------------------------ I've been able to reproduce the problem in a scenario very similar to the o= ne mentioned in this issue, albeit in a JSE setup. The fix submitted for OP= ENJPA-755 also fixes this problem in my scenario. The test I have for this= issue is apart from the one submitted for OPENJPA-755. Thanks, Dinkar > Re insert record into DB updating Entity while global transaction enabled= . > -------------------------------------------------------------------------= - > > Key: OPENJPA-749 > URL: https://issues.apache.org/jira/browse/OPENJPA-749 > Project: OpenJPA > Issue Type: Bug > Components: jdbc > Affects Versions: 1.2.0 > Environment: WPS6.1, DB2 9.0, OpenJPA 1.2.0, JDK 5 (IBM JVM) > Reporter: Lu HongJin > Priority: Critical > > 1. My env is : WPS6.1, DB2 9.0, OpenJPA 1.2.0 > 2. The followed is my persistence.xml configuration file: > > > org.apache.openjpa.persistence.PersistenceProviderImpl > > jdbc/jpa > orm.xml > > /> > "managed"/> > > > > > > > "false"/> > "false"/> > "transaction"/> > > > 3. I enable global transaction of SCA component , make sure tx is started= , > and invokes several DAO operations in one of the SCA component operation > named "updateCaseStatus". > such as CaseMgmtImpl SCA component sequentially invokes DAO operations > CaseStatus cStatus =3D statusDAO.findByCaseStatusPK(caseeStatus); > Casee casee =3D caseDAO.findByCaseePKWithRef(caseeId); > casee.setBusinessStatus(cStatus); > caseDAO.updateCasee(casee); > In caseDAO.findByCaseePKWithRef : > em =3D emf.createEntityManager(); > em.joinTransaction(); > result =3D (Casee)em.find(Casee.class, caseID); > em.close(); > In statusDAO.findByCaseStatusPK : > em =3D emf.createEntityManager(); > em.joinTransaction(); > result =3D (CaseStatus)em.find(CaseStatus.class, statusCode); > em.close(); > In caseDAO.updateCasee : > em =3D emf.createEntityManager(); > em.joinTransaction(); > Casee mergedcasee =3D em.merge(casee); > em.flush(); > em.close(); > 4. Then at the end of the sca component updateCaseStatus method, such > errors throwed. > com.ibm.sbs.cci.dao.DAOException: general error> org.apache.openjpa.persistence.PersistenceException: DB2 S= QL > error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEESQLCA > OUTPUT[Errp=3DSQLDMISR, Errd=3D-2146893819, 5, 0, 0, -957, 0] > DB2 SQL error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEE > FailedObject: prepstmnt 315232970 INSERT INTO DB2ADMIN.CASEE (CASEID, > CREATIONTIME, EFFECTIVEDATE, ENDDATE, EXPIRYDATE, > CASESTATUS_BUSINESSSTATUS, CASETYPE_CASETYPE) VALUES (?, ?, ?, ?, ?, ?, ?= ) > [org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement] > at com.ibm.sbs.cci.dao.AbstractCaseeDAO.updateCasee( > AbstractCaseeDAO.java:104) > at com.ibm.sbs.cci.CaseMgmtImpl.updateCaseStatus( > CaseMgmtImpl.java:129) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:79) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:618) > at com.ibm.ws.sca.internal.java.handler.JavaReflectionAdapter$2.run= ( > JavaReflectionAdapter.java:152) > at java.security.AccessController.doPrivileged( > AccessController.java:197) > at com.ibm.ws.sca.internal.java.handler.JavaReflectionAdapter.invok= e( > JavaReflectionAdapter.java:149) > at > com.ibm.ws.sca.internal.java.handler.JavaImplementationHandler.invokeSync= ( > JavaImplementationHandler.java:447) > at > com.ibm.ws.sca.internal.java.handler.JavaImplementationHandler.processMes= sage( > JavaImplementationHandler.java:195) > at > com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage= WithPCI( > MessageDispatcherImpl.java:714) > at > com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage= ( > MessageDispatcherImpl.java:1166) > at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process( > ManagedMessageImpl.java:821) > at > com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.processUOWMessage( > ModuleSessionBean.java:338) > at > com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.transactionRequiredAc= tivitySessionNotSupported( > ModuleSessionBean.java:311) > at > com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.transaction= RequiredActivitySessionNotSupported( > EJSLocalStatelessModule_43132892.java:233) > at > com.ibm.ws.sca.internal.uow.handler.UOWStrategyImpl.transactionGlobalActi= vitySessionFalse( > UOWStrategyImpl.java:311) > at com.ibm.ws.sca.internal.uow.handler.JoinUOWHandler.processMessag= e( > JoinUOWHandler.java:165) > at > com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage= WithPCI( > MessageDispatcherImpl.java:725) > at > com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage= ( > MessageDispatcherImpl.java:1166) > at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process( > ManagedMessageImpl.java:812) > at > com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.processMessage( > ModuleSessionBean.java:149) > at > com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.processMess= age( > EJSLocalStatelessModule_43132892.java:97) > at > com.ibm.wbit.comptest.controller.invocation.impl.AdhocInvoker.processMess= age(Unknown > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.Invoker.managedInvoke(Un= known > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.Invoker.invoke(Unknown > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.BaseInvocationHandler.in= voke(Unknown > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.doInvo= ke(Unknown > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager$1.run(= Unknown > Source) > at java.security.AccessController.doPrivileged( > AccessController.java:219) > at javax.security.auth.Subject.doAs(Subject.java:495) > at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:11= 8) > at > com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.invoke= (Unknown > Source) > at > com.ibm.wbit.comptest.controller.command.impl.BaseCommandHandler.doComman= d(Unknown > Source) > at > com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(= Unknown > Source) > at > com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(= Unknown > Source) > at com.ibm.wbit.comptest.servlet.TestControllerServlet.process( > TestControllerServlet.java:76) > at com.ibm.wbit.comptest.servlet.TestControllerServlet.doPost( > TestControllerServlet.java:51) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) > at com.ibm.ws.webcontainer.servlet.ServletWrapper.service( > ServletWrapper.java:995) > at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest( > ServletWrapper.java:501) > at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest( > ServletWrapper.java:464) > at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleReques= t( > CacheServletWrapper.java:90) > at com.ibm.ws.webcontainer.WebContainer.handleRequest( > WebContainer.java:744) > at com.ibm.ws.wswebcontainer.WebContainer.handleRequest( > WebContainer.java:1455) > at com.ibm.ws.webcontainer.channel.WCChannelLink.ready( > WCChannelLink.java:113) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination= ( > HttpInboundLink.java:454) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation= ( > HttpInboundLink.java:383) > at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready( > HttpInboundLink.java:263) > at > com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscri= minators( > NewConnectionInitialReadCallback.java:214) > at > com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete( > NewConnectionInitialReadCallback.java:113) > at > com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted( > AioReadCompletionListener.java:165) > at com.ibm.io.async.AbstractAsyncFuture.invokeCallback( > AbstractAsyncFuture.java:217) > at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions( > AsyncChannelFuture.java:161) > at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) > at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195) > at com.ibm.io.async.ResultHandler.runEventProcessingLoop( > ResultHandler.java:743) > at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873) > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469) > Caused by: > org.apache.openjpa.persistence.PersistenceException: DB2 SQL error: > SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEESQLCA > OUTPUT[Errp=3DSQLDMISR, Errd=3D-2146893819, 5, 0, 0, -957, 0] > DB2 SQL error: SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEE > FailedObject: prepstmnt 315232970 INSERT INTO DB2ADMIN.CASEE (CASEID, > CREATIONTIME, EFFECTIVEDATE, ENDDATE, EXPIRYDATE, > CASESTATUS_BUSINESSSTATUS, CASETYPE_CASETYPE) VALUES (?, ?, ?, ?, ?, ?, ?= ) > [org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement] > at org.apache.openjpa.jdbc.sql.DBDictionary.narrow( > DBDictionary.java:4238) > at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException( > DBDictionary.java:4203) > at org.apache.openjpa.jdbc.sql.DB2Dictionary.newStoreException( > DB2Dictionary.java:503) > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore( > SQLExceptions.java:102) > at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore( > SQLExceptions.java:72) > at > org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flush= Batch( > BatchingPreparedStatementManagerImpl.java:195) > at org.apache.openjpa.jdbc.kernel.MyUpdateManager.flush( > MyUpdateManager.java:357) > at org.apache.openjpa.jdbc.kernel.MyUpdateManager.flush( > MyUpdateManager.java:77) > at org.apache.openjpa.jdbc.kernel.MyUpdateManager.flush( > MyUpdateManager.java:60) > at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush( > JDBCStoreManager.java:655) > at org.apache.openjpa.kernel.DelegatingStoreManager.flush( > DelegatingStoreManager.java:130) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe( > BrokerImpl.java:1908) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1679) > at org.apache.openjpa.kernel.DelegatingBroker.flush( > DelegatingBroker.java:989) > at org.apache.openjpa.persistence.EntityManagerImpl.flush( > EntityManagerImpl.java:592) > at com.ibm.sbs.cci.dao.AbstractCaseeDAO.updateCasee( > AbstractCaseeDAO.java:98) > ... 60 more > Caused by: com.ibm.websphere.ce.cm.DuplicateKeyException: DB2 SQL error: > SQLCODE: -803, SQLSTATE: 23505, SQLERRMC: 1;DB2ADMIN.CASEE > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at sun.reflect.NativeConstructorAccessorImpl.newInstance( > NativeConstructorAccessorImpl.java:67) > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance( > DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:522) > at > com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapExceptionHelper( > GenericDataStoreHelper.java:523) > at com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapException( > GenericDataStoreHelper.java:578) > at com.ibm.ws.rsadapter.jdbc.WSJdbcUtil.mapException( > WSJdbcUtil.java:903) > at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeUpdate( > WSJdbcPreparedStatement.java:626) > at > org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate( > DelegatingPreparedStatement.java:269) > at > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$= LoggingPreparedStatement.executeUpdate( > LoggingConnectionDecorator.java:864) > at > org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate( > DelegatingPreparedStatement.java:269) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.e= xecuteUpdate( > JDBCStoreManager.java:1504) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate= ( > PreparedStatementManagerImpl.java:151) > at > org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flush= SingleRow( > BatchingPreparedStatementManagerImpl.java:217) > at > org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flush= Batch( > BatchingPreparedStatementManagerImpl.java:156) > ... 71 more > [08-10-15 16:51:08:718 CST] 00000074 RegisteredSyn E WTRN0074E: =E4=BB= =8E > before_completion =E5=90=8C=E6=AD=A5=E6=93=8D=E4=BD=9C=E6=8D=95=E8=8E=B7= =E5=BC=82=E5=B8=B8=EF=BC=9A user error> org.apache.openjpa.persistence.InvalidStateException: > Encountered unmanaged object in persistent field > "com.ibm.sbs.cci.pojo.Casee.businessStatus" during flush. However, this > field does not allow cascade persist. Set the cascade attribute for this > field to CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or > "persist" or "all" (JPA orm.xml), or enable cascade-persist globally, or > manually persist the related field value prior to flushing. You cannot > flush unmanaged objects or graphs that have persistent associations to > unmanaged objects. > FailedObject: com.ibm.sbs.cci.pojo.CaseStatus-APPROVED > at org.apache.openjpa.kernel.SingleFieldManager.preFlushPC( > SingleFieldManager.java:753) > at org.apache.openjpa.kernel.SingleFieldManager.preFlush( > SingleFieldManager.java:594) > at org.apache.openjpa.kernel.SingleFieldManager.preFlush( > SingleFieldManager.java:562) > at org.apache.openjpa.kernel.SingleFieldManager.preFlush( > SingleFieldManager.java:478) > at org.apache.openjpa.kernel.StateManagerImpl.preFlush( > StateManagerImpl.java:2828) > at org.apache.openjpa.kernel.PDirtyState.beforeFlush( > PDirtyState.java:37) > at org.apache.openjpa.kernel.StateManagerImpl.beforeFlush( > StateManagerImpl.java:959) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1948) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe( > BrokerImpl.java:1908) > at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion( > BrokerImpl.java:1826) > at > org.apache.openjpa.ee.WASManagedRuntime$WASSynchronization.beforeCompleti= on( > WASManagedRuntime.java:304) > at > com.ibm.ws.jtaextensions.SynchronizationCallbackWrapper.beforeCompletion( > SynchronizationCallbackWrapper.java:65) > at com.ibm.ws.Transaction.JTA.RegisteredSyncs.distributeBefore( > RegisteredSyncs.java:242) > at com.ibm.ws.Transaction.JTA.TransactionImpl.prePrepare( > TransactionImpl.java:2398) > at com.ibm.ws.Transaction.JTA.TransactionImpl.stage1CommitProcessin= g( > TransactionImpl.java:1631) > at com.ibm.ws.Transaction.JTA.TransactionImpl.processCommit( > TransactionImpl.java:1602) > at com.ibm.ws.Transaction.JTA.TransactionImpl.commit( > TransactionImpl.java:1537) > at com.ibm.ws.Transaction.JTA.TranManagerImpl.commit( > TranManagerImpl.java:239) > at com.ibm.ws.Transaction.JTA.TranManagerSet.commit( > TranManagerSet.java:163) > at com.ibm.ejs.csi.TranStrategy.commit(TranStrategy.java:756) > at com.ibm.ejs.csi.TranStrategy.postInvoke(TranStrategy.java:181) > at com.ibm.ejs.csi.TransactionControlImpl.postInvoke( > TransactionControlImpl.java:581) > at com.ibm.ejs.container.EJSContainer.postInvoke( > EJSContainer.java:3910) > at > com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.transaction= RequiredActivitySessionNotSupported( > EJSLocalStatelessModule_43132892.java:244) > at > com.ibm.ws.sca.internal.uow.handler.UOWStrategyImpl.transactionGlobalActi= vitySessionFalse( > UOWStrategyImpl.java:311) > at com.ibm.ws.sca.internal.uow.handler.JoinUOWHandler.processMessag= e( > JoinUOWHandler.java:165) > at > com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage= WithPCI( > MessageDispatcherImpl.java:725) > at > com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.processMessage= ( > MessageDispatcherImpl.java:1166) > at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.process( > ManagedMessageImpl.java:812) > at > com.ibm.wsspi.sca.ejb.module.impl.ModuleSessionBean.processMessage( > ModuleSessionBean.java:149) > at > com.ibm.wsspi.sca.ejb.module.EJSLocalStatelessModule_43132892.processMess= age( > EJSLocalStatelessModule_43132892.java:97) > at > com.ibm.wbit.comptest.controller.invocation.impl.AdhocInvoker.processMess= age(Unknown > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.Invoker.managedInvoke(Un= known > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.Invoker.invoke(Unknown > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.BaseInvocationHandler.in= voke(Unknown > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.doInvo= ke(Unknown > Source) > at > com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager$1.run(= Unknown > Source) > at java.security.AccessController.doPrivileged( > AccessController.java:219) > at javax.security.auth.Subject.doAs(Subject.java:495) > at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:11= 8) > at > com.ibm.wbit.comptest.controller.invocation.impl.InvocationManager.invoke= (Unknown > Source) > at > com.ibm.wbit.comptest.controller.command.impl.BaseCommandHandler.doComman= d(Unknown > Source) > at > com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(= Unknown > Source) > at > com.ibm.wbit.comptest.controller.command.impl.CommandProcessor.doCommand(= Unknown > Source) > at com.ibm.wbit.comptest.servlet.TestControllerServlet.process( > TestControllerServlet.java:76) > at com.ibm.wbit.comptest.servlet.TestControllerServlet.doPost( > TestControllerServlet.java:51) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) > at com.ibm.ws.webcontainer.servlet.ServletWrapper.service( > ServletWrapper.java:995) > at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest( > ServletWrapper.java:501) > at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest( > ServletWrapper.java:464) > at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleReques= t( > CacheServletWrapper.java:90) > at com.ibm.ws.webcontainer.WebContainer.handleRequest( > WebContainer.java:744) > at com.ibm.ws.wswebcontainer.WebContainer.handleRequest( > WebContainer.java:1455) > at com.ibm.ws.webcontainer.channel.WCChannelLink.ready( > WCChannelLink.java:113) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination= ( > HttpInboundLink.java:454) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation= ( > HttpInboundLink.java:383) > at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready( > HttpInboundLink.java:263) > at > com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscri= minators( > NewConnectionInitialReadCallback.java:214) > at > com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete( > NewConnectionInitialReadCallback.java:113) > at > com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted( > AioReadCompletionListener.java:165) > at com.ibm.io.async.AbstractAsyncFuture.invokeCallback( > AbstractAsyncFuture.java:217) > at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions( > AsyncChannelFuture.java:161) > at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) > at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195) > at com.ibm.io.async.ResultHandler.runEventProcessingLoop( > ResultHandler.java:743) > at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873) > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469) > 5. According to my analysis, > CaseStatus cStatus =3D statusDAO.findByCaseStatusPK(caseeStatus); = --- > cStatus with StateManagerImpl & PNonTransState > Casee casee =3D caseDAO.findByCaseePKWithRef(caseeId); = --- > casee with StateManagerImpl & PNonTransState > casee.setBusinessStatus(cStatus); -= -- > casee with StateManagerImpl & PDirtyState > caseDAO.updateCasee(casee); -= -- > in updateCasee method, casee(PDirtyTransState -> PNewState) > em =3D emf.createEntityManager(); > em.joinTransaction(); > Casee mergedcasee =3D em.merge(casee); = --- > casee with StateManagerImpl & PDirtyState > -= -- > mergedcasee with StateManagerImpl & PNewState > em.flush(); -= -- > Here, a record would be inserted into DB > em.close(); --=20 This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.