users@glassfish.java.net

RE: JDO76406: Concurrent access exception: object to delete has been updated?

From: Martin Gainty <mgainty_at_hotmail.com>
Date: Thu, 1 Apr 2010 13:04:18 -0400

lock (the table) and any (tables which reference this table by FK constraint) beforehand OR


wrap your SQL statments in a PL/SQL transaction which either commits the transaction (if good)

or ROLLBACK (if there was a glitch)


(to make doubly sure i have DML access to all necessary tables ..i wrap all SQL statements in a transaction which locks the tables before DML operations)

HTH,
Martin Gainty
______________________________________________
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité

Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.

Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni.



 

> Date: Thu, 1 Apr 2010 01:23:48 -0700
> From: glassfish_at_javadesktop.org
> To: users_at_glassfish.dev.java.net
> Subject: JDO76406: Concurrent access exception: object to delete has been updated?
>
> After stopping my domain. I get this exception on startup of my domain. What's going wrong?
>
> I'm using glassfish 2.1.1
>
> --- SNIP ---
> [#|2010-04-01T07:59:42.200+0000|SEVERE|sun-appserver2.1|javax.enterprise.system.container.ejb|_ThreadID=20;_ThreadName=p: thread-pool-1; w: 18;_RequestID=7ab73bad-6d3c-4443-9dc8-b5b0386b63aa;|EJB5071: Some remote or transactional roll back exception occurred
> com.sun.jdo.api.persistence.support.JDODataStoreException: JDO76406: Concurrent access exception: object to delete has been updated or deleted by another transaction.
> FailedObjectArray: [JDO77000: Deleted instance of class com.sun.ejb.containers.TimerBean_2100919770_JDOState]
> at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.throwJDOConcurrentAccessException(SQLStoreManager.java:657)
> at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.executeUpdateBatch(SQLStoreManager.java:608)
> at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.executeBatch(SQLStoreManager.java:536)
> at com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager.updatePersistent(SQLStateManager.java:922)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl.flushToDataStore(PersistenceManagerImpl.java:1499)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl.flushTxCache(PersistenceManagerImpl.java:1426)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:1360)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.notifyBeforeCompletion(TransactionImpl.java:1151)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.commitBefore(TransactionImpl.java:790)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.beforeCompletion(TransactionImpl.java:681)
> at com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:164)
> at com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:99)
> at com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:158)
> at com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2548)
> at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:278)
> at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:250)
> at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623)
> at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:309)
> at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1003)
> at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:398)
> at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3826)
> at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3605)
> at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
> at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
> at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
> at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
> at $Proxy218.afterDelivery(Unknown Source)
> at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
> at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:77)
> at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
> |#]
>
> [#|2010-04-01T07:59:42.215+0000|WARNING|sun-appserver2.1|javax.enterprise.system.core.transaction|_ThreadID=20;_ThreadName=p: thread-pool-1; w: 18;_RequestID=7ab73bad-6d3c-4443-9dc8-b5b0386b63aa;|JTS5054: Unexpected error occurred in after completion
> com.sun.jdo.api.persistence.support.JDODataStoreException: JDO76406: Concurrent access exception: object to delete has been updated or deleted by another transaction.
> FailedObjectArray: [JDO77000: Deleted instance of class com.sun.ejb.containers.TimerBean_2100919770_JDOState]
> at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.throwJDOConcurrentAccessException(SQLStoreManager.java:657)
> at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.executeUpdateBatch(SQLStoreManager.java:608)
> at com.sun.jdo.spi.persistence.support.sqlstore.SQLStoreManager.executeBatch(SQLStoreManager.java:536)
> at com.sun.jdo.spi.persistence.support.sqlstore.SQLStateManager.updatePersistent(SQLStateManager.java:922)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl.flushToDataStore(PersistenceManagerImpl.java:1499)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl.flushTxCache(PersistenceManagerImpl.java:1426)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:1360)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.notifyBeforeCompletion(TransactionImpl.java:1151)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.commitBefore(TransactionImpl.java:790)
> at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.beforeCompletion(TransactionImpl.java:681)
> at com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:164)
> at com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:99)
> at com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:158)
> at com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2548)
> at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:278)
> at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:250)
> at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623)
> at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:309)
> at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1003)
> at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:398)
> at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3826)
> at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3605)
> at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
> at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
> at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
> at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
> at $Proxy218.afterDelivery(Unknown Source)
> at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
> at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:77)
> at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
> |#]
>
> [#|2010-04-01T07:59:42.215+0000|WARNING|sun-appserver2.1|javax.enterprise.system.core.transaction|_ThreadID=20;_ThreadName=p: thread-pool-1; w: 18;com.sun.jdo.api.persistence.support.JDODataStoreException: JDO76406: Concurrent access exception: object to delete has been updated or deleted by another transaction.
> FailedObjectArray: [JDO77000: Deleted instance of class com.sun.ejb.containers.TimerBean_2100919770_JDOState];before_completion;_RequestID=7ab73bad-6d3c-4443-9dc8-b5b0386b63aa;|JTS5033: Exception [com.sun.jdo.api.persistence.support.JDODataStoreException: JDO76406: Concurrent access exception: object to delete has been updated or deleted by another transaction.
> FailedObjectArray: [JDO77000: Deleted instance of class com.sun.ejb.containers.TimerBean_2100919770_JDOState]] on [before_completion] synchronization operation.|#]
>
> [#|2010-04-01T07:59:42.231+0000|INFO|sun-appserver2.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=20;_ThreadName=p: thread-pool-1; w: 18;post-ear-0.0.1-SNAPSHOT:MessageAvailableNotificationReminder;javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException;|MDB00037: [post-ear-0.0.1-SNAPSHOT:MessageAvailableNotificationReminder]: Message-driven bean invocation exception: [javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException]|#]
>
> [#|2010-04-01T07:59:42.231+0000|INFO|sun-appserver2.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=20;_ThreadName=p: thread-pool-1; w: 18;|javax.ejb.EJBException
> javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException
> javax.transaction.RollbackException
> at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:311)
> at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1003)
> at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:398)
> at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3826)
> at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3605)
> at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
> at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
> at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
> at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
> at $Proxy218.afterDelivery(Unknown Source)
> at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
> at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:77)
> at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
> javax.ejb.EJBException: Transaction aborted; nested exception is: javax.transaction.RollbackException
> at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3832)
> at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3605)
> at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1226)
> at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1197)
> at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:79)
> at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:139)
> at $Proxy218.afterDelivery(Unknown Source)
> at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:324)
> at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:77)
> at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
> |#]
>
> [#|2010-04-01T07:59:42.731+0000|INFO|sun-appserver2.1|javax.enterprise.system.core|_ThreadID=10;_ThreadName=main;|Application server startup complete.|#]
> --- SNAP ---
> [Message sent by forum member 'hegalor']
>
> http://forums.java.net/jive/thread.jspa?messageID=394858
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
                                               
_________________________________________________________________
The New Busy is not the old busy. Search, chat and e-mail from your inbox.
http://www.windowslive.com/campaign/thenewbusy?ocid=PID27925::T:WLMTAGL:ON:WL:en-US:WM_HMP:032010_3